mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-15 10:47:49 -06:00
Add type hinting of return values
I thought this might help find some bugs there. Contributes to issue CURA-4357.
This commit is contained in:
parent
1596437bbd
commit
3d921c1b4e
1 changed files with 16 additions and 13 deletions
|
@ -1,6 +1,9 @@
|
||||||
# Copyright (c) 2017 Ultimaker B.V.
|
# Copyright (c) 2017 Ultimaker B.V.
|
||||||
# Cura is released under the terms of the AGPLv3 or higher.
|
# Cura is released under the terms of the AGPLv3 or higher.
|
||||||
from typing import Union
|
|
||||||
|
#Type hinting.
|
||||||
|
from typing import Union, List, Dict
|
||||||
|
from UM.Signal import Signal
|
||||||
|
|
||||||
from PyQt5.QtCore import QObject, pyqtProperty, pyqtSignal, QTimer
|
from PyQt5.QtCore import QObject, pyqtProperty, pyqtSignal, QTimer
|
||||||
from UM.FlameProfiler import pyqtSlot
|
from UM.FlameProfiler import pyqtSlot
|
||||||
|
@ -366,7 +369,7 @@ class MachineManager(QObject):
|
||||||
def _createUniqueName(self, container_type: str, current_name: str, new_name: str, fallback_name: str) -> str:
|
def _createUniqueName(self, container_type: str, current_name: str, new_name: str, fallback_name: str) -> str:
|
||||||
return ContainerRegistry.getInstance().createUniqueName(container_type, current_name, new_name, fallback_name)
|
return ContainerRegistry.getInstance().createUniqueName(container_type, current_name, new_name, fallback_name)
|
||||||
|
|
||||||
def _checkStacksHaveErrors(self):
|
def _checkStacksHaveErrors(self) -> bool:
|
||||||
if self._global_container_stack is None: #No active machine.
|
if self._global_container_stack is None: #No active machine.
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
@ -390,7 +393,7 @@ class MachineManager(QObject):
|
||||||
|
|
||||||
## Check if the global_container has instances in the user container
|
## Check if the global_container has instances in the user container
|
||||||
@pyqtProperty(bool, notify = activeStackValueChanged)
|
@pyqtProperty(bool, notify = activeStackValueChanged)
|
||||||
def hasUserSettings(self):
|
def hasUserSettings(self) -> bool:
|
||||||
if not self._global_container_stack:
|
if not self._global_container_stack:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
@ -405,7 +408,7 @@ class MachineManager(QObject):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
@pyqtProperty(int, notify = activeStackValueChanged)
|
@pyqtProperty(int, notify = activeStackValueChanged)
|
||||||
def numUserSettings(self):
|
def numUserSettings(self) -> int:
|
||||||
if not self._global_container_stack:
|
if not self._global_container_stack:
|
||||||
return 0
|
return 0
|
||||||
num_user_settings = 0
|
num_user_settings = 0
|
||||||
|
@ -450,7 +453,7 @@ class MachineManager(QObject):
|
||||||
# Note that the _stacks_have_errors is cached due to performance issues
|
# Note that the _stacks_have_errors is cached due to performance issues
|
||||||
# Calling _checkStack(s)ForErrors on every change is simply too expensive
|
# Calling _checkStack(s)ForErrors on every change is simply too expensive
|
||||||
@pyqtProperty(bool, notify = stacksValidationChanged)
|
@pyqtProperty(bool, notify = stacksValidationChanged)
|
||||||
def stacksHaveErrors(self):
|
def stacksHaveErrors(self) -> bool:
|
||||||
return bool(self._stacks_have_errors)
|
return bool(self._stacks_have_errors)
|
||||||
|
|
||||||
@pyqtProperty(str, notify = activeStackChanged)
|
@pyqtProperty(str, notify = activeStackChanged)
|
||||||
|
@ -495,7 +498,7 @@ class MachineManager(QObject):
|
||||||
return ""
|
return ""
|
||||||
|
|
||||||
@pyqtProperty("QVariantList", notify=activeVariantChanged)
|
@pyqtProperty("QVariantList", notify=activeVariantChanged)
|
||||||
def activeVariantNames(self):
|
def activeVariantNames(self) -> List[str]:
|
||||||
result = []
|
result = []
|
||||||
active_stacks = ExtruderManager.getInstance().getActiveGlobalAndExtruderStacks()
|
active_stacks = ExtruderManager.getInstance().getActiveGlobalAndExtruderStacks()
|
||||||
if active_stacks is not None:
|
if active_stacks is not None:
|
||||||
|
@ -507,7 +510,7 @@ class MachineManager(QObject):
|
||||||
return result
|
return result
|
||||||
|
|
||||||
@pyqtProperty("QVariantList", notify = activeMaterialChanged)
|
@pyqtProperty("QVariantList", notify = activeMaterialChanged)
|
||||||
def activeMaterialNames(self):
|
def activeMaterialNames(self) -> List[str]:
|
||||||
result = []
|
result = []
|
||||||
active_stacks = ExtruderManager.getInstance().getActiveGlobalAndExtruderStacks()
|
active_stacks = ExtruderManager.getInstance().getActiveGlobalAndExtruderStacks()
|
||||||
if active_stacks is not None:
|
if active_stacks is not None:
|
||||||
|
@ -527,7 +530,7 @@ class MachineManager(QObject):
|
||||||
return ""
|
return ""
|
||||||
|
|
||||||
@pyqtProperty("QVariantMap", notify = activeVariantChanged)
|
@pyqtProperty("QVariantMap", notify = activeVariantChanged)
|
||||||
def allActiveVariantIds(self):
|
def allActiveVariantIds(self) -> Dict[str, str]:
|
||||||
result = {}
|
result = {}
|
||||||
active_stacks = ExtruderManager.getInstance().getActiveExtruderStacks()
|
active_stacks = ExtruderManager.getInstance().getActiveExtruderStacks()
|
||||||
if active_stacks is not None: #If we have a global stack.
|
if active_stacks is not None: #If we have a global stack.
|
||||||
|
@ -541,7 +544,7 @@ class MachineManager(QObject):
|
||||||
return result
|
return result
|
||||||
|
|
||||||
@pyqtProperty("QVariantMap", notify = activeMaterialChanged)
|
@pyqtProperty("QVariantMap", notify = activeMaterialChanged)
|
||||||
def allActiveMaterialIds(self):
|
def allActiveMaterialIds(self) -> Dict[str, str]:
|
||||||
result = {}
|
result = {}
|
||||||
active_stacks = ExtruderManager.getInstance().getActiveExtruderStacks()
|
active_stacks = ExtruderManager.getInstance().getActiveExtruderStacks()
|
||||||
if active_stacks is not None: #If we have a global stack.
|
if active_stacks is not None: #If we have a global stack.
|
||||||
|
@ -860,7 +863,7 @@ class MachineManager(QObject):
|
||||||
# \param quality_name \type{str} the name of the quality.
|
# \param quality_name \type{str} the name of the quality.
|
||||||
# \return \type{List[Dict]} with keys "stack", "quality" and "quality_changes".
|
# \return \type{List[Dict]} with keys "stack", "quality" and "quality_changes".
|
||||||
@UM.FlameProfiler.profile
|
@UM.FlameProfiler.profile
|
||||||
def determineQualityAndQualityChangesForQualityType(self, quality_type: str):
|
def determineQualityAndQualityChangesForQualityType(self, quality_type: str) -> List[Dict[str, Union[CuraContainerStack, InstanceContainer]]]:
|
||||||
quality_manager = QualityManager.getInstance()
|
quality_manager = QualityManager.getInstance()
|
||||||
result = []
|
result = []
|
||||||
empty_quality_changes = self._empty_quality_changes_container
|
empty_quality_changes = self._empty_quality_changes_container
|
||||||
|
@ -897,7 +900,7 @@ class MachineManager(QObject):
|
||||||
#
|
#
|
||||||
# \param quality_changes_name \type{str} the name of the quality changes.
|
# \param quality_changes_name \type{str} the name of the quality changes.
|
||||||
# \return \type{List[Dict]} with keys "stack", "quality" and "quality_changes".
|
# \return \type{List[Dict]} with keys "stack", "quality" and "quality_changes".
|
||||||
def _determineQualityAndQualityChangesForQualityChanges(self, quality_changes_name: str):
|
def _determineQualityAndQualityChangesForQualityChanges(self, quality_changes_name: str) -> Optional[List[Dict[str, Union[CuraContainerStack, InstanceContainer]]]]:
|
||||||
result = []
|
result = []
|
||||||
quality_manager = QualityManager.getInstance()
|
quality_manager = QualityManager.getInstance()
|
||||||
|
|
||||||
|
@ -1134,7 +1137,7 @@ class MachineManager(QObject):
|
||||||
return MachineManager()
|
return MachineManager()
|
||||||
|
|
||||||
@deprecated("Use ExtruderStack.material = ... and it won't be necessary", "2.7")
|
@deprecated("Use ExtruderStack.material = ... and it won't be necessary", "2.7")
|
||||||
def _updateMaterialContainer(self, definition: "DefinitionContainer", stack: "ContainerStack", variant_container: Optional["InstanceContainer"] = None, preferred_material_name: Optional[str] = None):
|
def _updateMaterialContainer(self, definition: "DefinitionContainer", stack: "ContainerStack", variant_container: Optional["InstanceContainer"] = None, preferred_material_name: Optional[str] = None) -> InstanceContainer:
|
||||||
if not definition.getMetaDataEntry("has_materials"):
|
if not definition.getMetaDataEntry("has_materials"):
|
||||||
return self._empty_material_container
|
return self._empty_material_container
|
||||||
|
|
||||||
|
@ -1180,7 +1183,7 @@ class MachineManager(QObject):
|
||||||
def _onQualityNameChanged(self):
|
def _onQualityNameChanged(self):
|
||||||
self.activeQualityChanged.emit()
|
self.activeQualityChanged.emit()
|
||||||
|
|
||||||
def _getContainerChangedSignals(self):
|
def _getContainerChangedSignals(self) -> List[Signal]:
|
||||||
stacks = ExtruderManager.getInstance().getActiveExtruderStacks()
|
stacks = ExtruderManager.getInstance().getActiveExtruderStacks()
|
||||||
stacks.append(self._global_container_stack)
|
stacks.append(self._global_container_stack)
|
||||||
return [ s.containersChanged for s in stacks ]
|
return [ s.containersChanged for s in stacks ]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue