mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-14 10:06:07 +08:00
Merge pull request #4705 from Ultimaker/CURA-5840-make-plugin-sdk-use-semantic-versioning
Fixes required for semantic versioning
This commit is contained in:
commit
7a577489ae
@ -3,7 +3,6 @@
|
|||||||
|
|
||||||
from typing import TYPE_CHECKING
|
from typing import TYPE_CHECKING
|
||||||
|
|
||||||
from UM.PluginRegistry import PluginRegistry
|
|
||||||
from cura.API.Interface.Settings import Settings
|
from cura.API.Interface.Settings import Settings
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
@ -23,9 +22,6 @@ if TYPE_CHECKING:
|
|||||||
|
|
||||||
class Interface:
|
class Interface:
|
||||||
|
|
||||||
# For now we use the same API version to be consistent.
|
|
||||||
VERSION = PluginRegistry.APIVersion
|
|
||||||
|
|
||||||
def __init__(self, application: "CuraApplication") -> None:
|
def __init__(self, application: "CuraApplication") -> None:
|
||||||
# API methods specific to the settings portion of the UI
|
# API methods specific to the settings portion of the UI
|
||||||
self.settings = Settings(application)
|
self.settings = Settings(application)
|
||||||
|
@ -4,7 +4,6 @@ from typing import Optional, TYPE_CHECKING
|
|||||||
|
|
||||||
from PyQt5.QtCore import QObject, pyqtProperty
|
from PyQt5.QtCore import QObject, pyqtProperty
|
||||||
|
|
||||||
from UM.PluginRegistry import PluginRegistry
|
|
||||||
from cura.API.Backups import Backups
|
from cura.API.Backups import Backups
|
||||||
from cura.API.Interface import Interface
|
from cura.API.Interface import Interface
|
||||||
from cura.API.Account import Account
|
from cura.API.Account import Account
|
||||||
@ -22,7 +21,6 @@ if TYPE_CHECKING:
|
|||||||
class CuraAPI(QObject):
|
class CuraAPI(QObject):
|
||||||
|
|
||||||
# For now we use the same API version to be consistent.
|
# For now we use the same API version to be consistent.
|
||||||
VERSION = PluginRegistry.APIVersion
|
|
||||||
__instance = None # type: "CuraAPI"
|
__instance = None # type: "CuraAPI"
|
||||||
_application = None # type: CuraApplication
|
_application = None # type: CuraApplication
|
||||||
|
|
||||||
|
@ -134,7 +134,7 @@ except ImportError:
|
|||||||
CuraVersion = "master" # [CodeStyle: Reflecting imported value]
|
CuraVersion = "master" # [CodeStyle: Reflecting imported value]
|
||||||
CuraBuildType = ""
|
CuraBuildType = ""
|
||||||
CuraDebugMode = False
|
CuraDebugMode = False
|
||||||
CuraSDKVersion = ""
|
CuraSDKVersion = "5.0.0"
|
||||||
|
|
||||||
|
|
||||||
class CuraApplication(QtApplication):
|
class CuraApplication(QtApplication):
|
||||||
@ -164,6 +164,7 @@ class CuraApplication(QtApplication):
|
|||||||
super().__init__(name = "cura",
|
super().__init__(name = "cura",
|
||||||
app_display_name = CuraAppDisplayName,
|
app_display_name = CuraAppDisplayName,
|
||||||
version = CuraVersion,
|
version = CuraVersion,
|
||||||
|
api_version = CuraSDKVersion,
|
||||||
buildtype = CuraBuildType,
|
buildtype = CuraBuildType,
|
||||||
is_debug_mode = CuraDebugMode,
|
is_debug_mode = CuraDebugMode,
|
||||||
tray_icon_name = "cura-icon-32.png",
|
tray_icon_name = "cura-icon-32.png",
|
||||||
|
@ -12,7 +12,7 @@ from UM.Qt.ListModel import ListModel
|
|||||||
from .ConfigsModel import ConfigsModel
|
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):
|
class PackagesModel(ListModel):
|
||||||
def __init__(self, parent = None):
|
def __init__(self, parent = None):
|
||||||
super().__init__(parent)
|
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
|
# Links is a list of dictionaries with "title" and "url". Convert this list into a dict so it's easier
|
||||||
# to process.
|
# 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}
|
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"]:
|
if "author_id" not in package["author"] or "display_name" not in package["author"]:
|
||||||
|
@ -209,11 +209,11 @@ class Toolbox(QObject, Extension):
|
|||||||
# Get the packages version depending on Cura version settings.
|
# Get the packages version depending on Cura version settings.
|
||||||
def _getSDKVersion(self) -> Union[int, str]:
|
def _getSDKVersion(self) -> Union[int, str]:
|
||||||
if not hasattr(cura, "CuraVersion"):
|
if not hasattr(cura, "CuraVersion"):
|
||||||
return self._plugin_registry.APIVersion
|
return self._application.getAPIVersion().getMajor()
|
||||||
if not hasattr(cura.CuraVersion, "CuraSDKVersion"): # type: ignore
|
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
|
if not cura.CuraVersion.CuraSDKVersion: # type: ignore
|
||||||
return self._plugin_registry.APIVersion
|
return self._application.getAPIVersion().getMajor()
|
||||||
return cura.CuraVersion.CuraSDKVersion # type: ignore
|
return cura.CuraVersion.CuraSDKVersion # type: ignore
|
||||||
|
|
||||||
@pyqtSlot()
|
@pyqtSlot()
|
||||||
@ -299,7 +299,7 @@ class Toolbox(QObject, Extension):
|
|||||||
for plugin_id in old_plugin_ids:
|
for plugin_id in old_plugin_ids:
|
||||||
# Neither the installed packages nor the packages that are scheduled to remove are old plugins
|
# 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:
|
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)
|
old_metadata = self._plugin_registry.getMetaData(plugin_id)
|
||||||
new_metadata = self._convertPluginMetadata(old_metadata)
|
new_metadata = self._convertPluginMetadata(old_metadata)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user