Addon Manager: Refactor Metadata
Create a Python-native metadata class. Includes unit tests, and some PyLint cleanup.
This commit is contained in:
committed by
Chris Hennes
parent
243088a8c3
commit
0b241f78f4
@@ -43,6 +43,7 @@ from addonmanager_macro import Macro
|
||||
from Addon import Addon
|
||||
import NetworkManager
|
||||
from addonmanager_git import initialize_git, GitFailed
|
||||
from addonmanager_metadata import MetadataReader
|
||||
|
||||
translate = FreeCAD.Qt.translate
|
||||
|
||||
@@ -195,7 +196,7 @@ class CreateAddonListWorker(QtCore.QThread):
|
||||
md_file = os.path.join(addondir, "package.xml")
|
||||
if os.path.isfile(md_file):
|
||||
repo.load_metadata_file(md_file)
|
||||
repo.installed_version = repo.metadata.Version
|
||||
repo.installed_version = repo.metadata.version
|
||||
repo.updated_timestamp = os.path.getmtime(md_file)
|
||||
repo.verify_url_and_branch(addon["url"], addon["branch"])
|
||||
|
||||
@@ -238,7 +239,7 @@ class CreateAddonListWorker(QtCore.QThread):
|
||||
md_file = os.path.join(addondir, "package.xml")
|
||||
if os.path.isfile(md_file):
|
||||
repo.load_metadata_file(md_file)
|
||||
repo.installed_version = repo.metadata.Version
|
||||
repo.installed_version = repo.metadata.version
|
||||
repo.updated_timestamp = os.path.getmtime(md_file)
|
||||
repo.verify_url_and_branch(url, branch)
|
||||
|
||||
@@ -457,7 +458,7 @@ class LoadPackagesFromCacheWorker(QtCore.QThread):
|
||||
if os.path.isfile(repo_metadata_cache_path):
|
||||
try:
|
||||
repo.load_metadata_file(repo_metadata_cache_path)
|
||||
repo.installed_version = repo.metadata.Version
|
||||
repo.installed_version = repo.metadata.version
|
||||
repo.updated_timestamp = os.path.getmtime(
|
||||
repo_metadata_cache_path
|
||||
)
|
||||
@@ -644,12 +645,12 @@ class UpdateChecker:
|
||||
return
|
||||
package.updated_timestamp = os.path.getmtime(installed_metadata_file)
|
||||
try:
|
||||
installed_metadata = FreeCAD.Metadata(installed_metadata_file)
|
||||
package.installed_version = installed_metadata.Version
|
||||
# Packages are considered up-to-date if the metadata version matches. Authors
|
||||
# should update their version string when they want the addon manager to alert
|
||||
# users of a new version.
|
||||
if package.metadata.Version != installed_metadata.Version:
|
||||
installed_metadata = MetadataReader.from_file(installed_metadata_file)
|
||||
package.installed_version = installed_metadata.version
|
||||
# Packages are considered up-to-date if the metadata version matches.
|
||||
# Authors should update their version string when they want the addon
|
||||
# manager to alert users of a new version.
|
||||
if package.metadata.version != installed_metadata.version:
|
||||
package.set_status(Addon.Status.UPDATE_AVAILABLE)
|
||||
else:
|
||||
package.set_status(Addon.Status.NO_UPDATE_AVAILABLE)
|
||||
|
||||
Reference in New Issue
Block a user