Browse Source

Merge pull request #4705 from Ultimaker/CURA-5840-make-plugin-sdk-use-semantic-versioning

Fixes required for semantic versioning
Remco Burema 6 years ago
parent
commit
7a577489ae

+ 0 - 4
cura/API/Interface/__init__.py

@@ -3,7 +3,6 @@
 
 from typing import TYPE_CHECKING
 
-from UM.PluginRegistry import PluginRegistry
 from cura.API.Interface.Settings import Settings
 
 if TYPE_CHECKING:
@@ -23,9 +22,6 @@ if TYPE_CHECKING:
 
 class Interface:
 
-    # For now we use the same API version to be consistent.
-    VERSION = PluginRegistry.APIVersion
-
     def __init__(self, application: "CuraApplication") -> None:
         # API methods specific to the settings portion of the UI
         self.settings = Settings(application)

+ 1 - 3
cura/API/__init__.py

@@ -4,7 +4,6 @@ from typing import Optional, TYPE_CHECKING
 
 from PyQt5.QtCore import QObject, pyqtProperty
 
-from UM.PluginRegistry import PluginRegistry
 from cura.API.Backups import Backups
 from cura.API.Interface import Interface
 from cura.API.Account import Account
@@ -22,7 +21,6 @@ if TYPE_CHECKING:
 class CuraAPI(QObject):
 
     # For now we use the same API version to be consistent.
-    VERSION = PluginRegistry.APIVersion
     __instance = None  # type: "CuraAPI"
     _application = None  # type: CuraApplication
 
@@ -62,4 +60,4 @@ class CuraAPI(QObject):
 
     @property
     def interface(self) -> "Interface":
-        return self._interface
+        return self._interface

+ 2 - 1
cura/CuraApplication.py

@@ -134,7 +134,7 @@ except ImportError:
     CuraVersion = "master"  # [CodeStyle: Reflecting imported value]
     CuraBuildType = ""
     CuraDebugMode = False
-    CuraSDKVersion = ""
+    CuraSDKVersion = "5.0.0"
 
 
 class CuraApplication(QtApplication):
@@ -164,6 +164,7 @@ class CuraApplication(QtApplication):
         super().__init__(name = "cura",
                          app_display_name = CuraAppDisplayName,
                          version = CuraVersion,
+                         api_version = CuraSDKVersion,
                          buildtype = CuraBuildType,
                          is_debug_mode = CuraDebugMode,
                          tray_icon_name = "cura-icon-32.png",

+ 2 - 2
plugins/Toolbox/src/PackagesModel.py

@@ -12,7 +12,7 @@ from UM.Qt.ListModel import ListModel
 from .ConfigsModel import ConfigsModel
 
 
-##  Model that holds cura packages. By setting the filter property the instances held by this model can be changed.
+##  Model that holds Cura packages. By setting the filter property the instances held by this model can be changed.
 class PackagesModel(ListModel):
     def __init__(self, parent = None):
         super().__init__(parent)
@@ -70,7 +70,7 @@ class PackagesModel(ListModel):
 
                 # Links is a list of dictionaries with "title" and "url". Convert this list into a dict so it's easier
                 # to process.
-                link_list = package['data']['links'] if 'links' in package['data'] else []
+                link_list = package["data"]["links"] if "links" in package["data"] else []
                 links_dict = {d["title"]: d["url"] for d in link_list}
 
             if "author_id" not in package["author"] or "display_name" not in package["author"]:

+ 14 - 14
plugins/Toolbox/src/Toolbox.py

@@ -172,18 +172,18 @@ class Toolbox(QObject, Extension):
         self._cloud_api_version = self._getCloudAPIVersion()
         self._cloud_api_root = self._getCloudAPIRoot()
         self._api_url = "{cloud_api_root}/cura-packages/v{cloud_api_version}/cura/v{sdk_version}".format(
-            cloud_api_root=self._cloud_api_root,
-            cloud_api_version=self._cloud_api_version,
-            sdk_version=self._sdk_version
+            cloud_api_root = self._cloud_api_root,
+            cloud_api_version = self._cloud_api_version,
+            sdk_version = self._sdk_version
         )
         self._request_urls = {
-            "authors": QUrl("{base_url}/authors".format(base_url=self._api_url)),
-            "packages": QUrl("{base_url}/packages".format(base_url=self._api_url)),
-            "plugins_showcase": QUrl("{base_url}/showcase".format(base_url=self._api_url)),
-            "plugins_available": QUrl("{base_url}/packages?package_type=plugin".format(base_url=self._api_url)),
-            "materials_showcase": QUrl("{base_url}/showcase".format(base_url=self._api_url)),
-            "materials_available": QUrl("{base_url}/packages?package_type=material".format(base_url=self._api_url)),
-            "materials_generic": QUrl("{base_url}/packages?package_type=material&tags=generic".format(base_url=self._api_url))
+            "authors": QUrl("{base_url}/authors".format(base_url = self._api_url)),
+            "packages": QUrl("{base_url}/packages".format(base_url = self._api_url)),
+            "plugins_showcase": QUrl("{base_url}/showcase".format(base_url = self._api_url)),
+            "plugins_available": QUrl("{base_url}/packages?package_type=plugin".format(base_url = self._api_url)),
+            "materials_showcase": QUrl("{base_url}/showcase".format(base_url = self._api_url)),
+            "materials_available": QUrl("{base_url}/packages?package_type=material".format(base_url = self._api_url)),
+            "materials_generic": QUrl("{base_url}/packages?package_type=material&tags=generic".format(base_url = self._api_url))
         }
 
     # Get the API root for the packages API depending on Cura version settings.
@@ -209,11 +209,11 @@ class Toolbox(QObject, Extension):
     # Get the packages version depending on Cura version settings.
     def _getSDKVersion(self) -> Union[int, str]:
         if not hasattr(cura, "CuraVersion"):
-            return self._plugin_registry.APIVersion
+            return self._application.getAPIVersion().getMajor()
         if not hasattr(cura.CuraVersion, "CuraSDKVersion"):  # type: ignore
-            return self._plugin_registry.APIVersion
+            return self._application.getAPIVersion().getMajor()
         if not cura.CuraVersion.CuraSDKVersion:  # type: ignore
-            return self._plugin_registry.APIVersion
+            return self._application.getAPIVersion().getMajor()
         return cura.CuraVersion.CuraSDKVersion  # type: ignore
 
     @pyqtSlot()
@@ -299,7 +299,7 @@ class Toolbox(QObject, Extension):
         for plugin_id in old_plugin_ids:
             # Neither the installed packages nor the packages that are scheduled to remove are old plugins
             if plugin_id not in installed_package_ids and plugin_id not in scheduled_to_remove_package_ids:
-                Logger.log('i', 'Found a plugin that was installed with the old plugin browser: %s', plugin_id)
+                Logger.log("i", "Found a plugin that was installed with the old plugin browser: %s", plugin_id)
 
                 old_metadata = self._plugin_registry.getMetaData(plugin_id)
                 new_metadata = self._convertPluginMetadata(old_metadata)