Fix code-style

This commit is contained in:
Diego Prado Gesto 2018-07-03 12:06:06 +02:00
parent e983a9a9e7
commit 762a1b1bfd
13 changed files with 47 additions and 33 deletions

View file

@ -97,8 +97,9 @@ class Arrange:
# Ensure that the object is above the build platform
node.removeDecorator(ZOffsetDecorator.ZOffsetDecorator)
if node.getBoundingBox():
center_y = node.getWorldPosition().y - node.getBoundingBox().bottom
bbox = node.getBoundingBox()
if bbox:
center_y = node.getWorldPosition().y - bbox.bottom
else:
center_y = 0

View file

@ -49,6 +49,7 @@ class CuraActions(QObject):
def homeCamera(self) -> None:
scene = cura.CuraApplication.CuraApplication.getInstance().getController().getScene()
camera = scene.getActiveCamera()
if camera:
camera.setPosition(Vector(-80, 250, 700))
camera.setPerspective(True)
camera.lookAt(Vector(0, 0, 0))

View file

@ -84,6 +84,7 @@ from cura.Settings.SettingInheritanceManager import SettingInheritanceManager
from cura.Settings.SimpleModeSettingsManager import SimpleModeSettingsManager
from cura.Machines.VariantManager import VariantManager
from plugins.SliceInfoPlugin.SliceInfo import SliceInfo
from .SingleInstance import SingleInstance
from .AutoSave import AutoSave
@ -1722,11 +1723,13 @@ class CuraApplication(QtApplication):
if not Selection.hasSelection():
node = self.getController().getScene().findObject(cast(SelectionPass, self.getRenderer().getRenderPass("selection")).getIdAtPosition(x, y))
if node:
while(node.getParent() and node.getParent().callDecoration("isGroup")):
node = node.getParent()
parent = node.getParent()
while(parent and parent.callDecoration("isGroup")):
node = parent
parent = node.getParent()
Selection.add(node)
@pyqtSlot()
def showMoreInformationDialogForAnonymousDataCollection(self):
self._plugin_registry.getPluginObject("SliceInfoPlugin").showMoreInfoDialog()
cast(SliceInfo, self._plugin_registry.getPluginObject("SliceInfoPlugin")).showMoreInfoDialog()

View file

@ -4,7 +4,7 @@
from collections import defaultdict, OrderedDict
import copy
import uuid
from typing import Dict
from typing import Dict, cast
from typing import Optional, TYPE_CHECKING
from PyQt5.Qt import QTimer, QObject, pyqtSignal, pyqtSlot
@ -416,13 +416,14 @@ class MaterialManager(QObject):
## Get default material for given global stack, extruder position and extruder variant name
# you can provide the extruder_definition and then the position is ignored (useful when building up global stack in CuraStackBuilder)
def getDefaultMaterial(self, global_stack: "GlobalStack", position: str, extruder_variant_name: Optional[str], extruder_definition: Optional["ExtruderStack"] = None) -> Optional["MaterialNode"]:
def getDefaultMaterial(self, global_stack: "GlobalStack", position: str, extruder_variant_name: Optional[str], extruder_definition: Optional["DefinitionContainer"] = None) -> Optional["MaterialNode"]:
node = None
machine_definition = global_stack.definition
if extruder_definition is None:
extruder_definition = global_stack.extruders[position].definition
if parseBool(global_stack.getMetaDataEntry("has_materials", False)):
material_diameter = extruder_definition.getProperty("material_diameter", "value")
# At this point the extruder_definition is not None
material_diameter = cast(DefinitionContainer, extruder_definition).getProperty("material_diameter", "value")
if isinstance(material_diameter, SettingFunction):
material_diameter = material_diameter(global_stack)
approximate_material_diameter = str(round(material_diameter))

View file

@ -104,6 +104,6 @@ class QualityProfilesDropDownMenuModel(ListModel):
else:
# Look for layer_height in the GlobalStack from material -> definition
container = global_stack.definition
if container.hasProperty("layer_height", "value"):
if container and container.hasProperty("layer_height", "value"):
layer_height = container.getProperty("layer_height", "value")
return float(layer_height)

View file

@ -61,7 +61,7 @@ class PrinterOutputDevice(QObject, OutputDevice):
uniqueConfigurationsChanged = pyqtSignal()
def __init__(self, device_id: str, parent: QObject = None) -> None:
super().__init__(device_id = device_id, parent = parent)
super().__init__(device_id = device_id, parent = parent) # type: ignore # MyPy complains with the multiple inheritance
self._printers = [] # type: List[PrinterOutputModel]
self._unique_configurations = [] # type: List[ConfigurationModel]

View file

@ -4,6 +4,7 @@
import os
import urllib.parse
import uuid
from typing import Any
from typing import Dict, Union
from PyQt5.QtCore import QObject, QUrl, QVariant
@ -43,7 +44,7 @@ class ContainerManager(QObject):
self._machine_manager = self._application.getMachineManager()
self._material_manager = self._application.getMaterialManager()
self._quality_manager = self._application.getQualityManager()
self._container_name_filters = {}
self._container_name_filters = {} # type: Dict[str, Dict[str, Any]]
@pyqtSlot(str, str, result=str)
def getContainerMetaDataEntry(self, container_id, entry_name):

View file

@ -244,8 +244,9 @@ class CuraContainerStack(ContainerStack):
#
# \throws InvalidContainerStackError Raised when no definition can be found for the stack.
@override(ContainerStack)
def deserialize(self, contents: str, file_name: Optional[str] = None) -> None:
super().deserialize(contents, file_name)
def deserialize(self, serialized: str, file_name: Optional[str] = None) -> str:
# update the serialized data first
serialized = super().deserialize(serialized, file_name)
new_containers = self._containers.copy()
while len(new_containers) < len(_ContainerIndexes.IndexTypeMap):
@ -253,10 +254,11 @@ class CuraContainerStack(ContainerStack):
# Validate and ensure the list of containers matches with what we expect
for index, type_name in _ContainerIndexes.IndexTypeMap.items():
container = None
try:
container = new_containers[index]
except IndexError:
container = None
pass
if type_name == "definition":
if not container or not isinstance(container, DefinitionContainer):
@ -283,6 +285,9 @@ class CuraContainerStack(ContainerStack):
from cura.Settings.CuraStackBuilder import CuraStackBuilder
CuraStackBuilder.createDefinitionChangesContainer(self, self.getId() + "_settings")
## TODO; Deserialize the containers.
return serialized
## protected:
# Helper to make sure we emit a PyQt signal on container changes.

View file

@ -3,7 +3,7 @@
import collections
import time
from typing import Any, Callable, List, Dict, TYPE_CHECKING, Optional
from typing import Any, Callable, List, Dict, TYPE_CHECKING, Optional, cast
from UM.ConfigurationErrorMessage import ConfigurationErrorMessage
from UM.Scene.Iterator.DepthFirstIterator import DepthFirstIterator
@ -1137,7 +1137,7 @@ class MachineManager(QObject):
quality_changes_container = self._empty_quality_changes_container
quality_container = self._empty_quality_container
if quality_changes_group.node_for_global and quality_changes_group.node_for_global.getContainer():
quality_changes_container = quality_changes_group.node_for_global.getContainer()
quality_changes_container = cast(InstanceContainer, quality_changes_group.node_for_global.getContainer())
if quality_group is not None and quality_group.node_for_global and quality_group.node_for_global.getContainer():
quality_container = quality_group.node_for_global.getContainer()
@ -1153,7 +1153,7 @@ class MachineManager(QObject):
quality_changes_container = self._empty_quality_changes_container
quality_container = self._empty_quality_container
if quality_changes_node and quality_changes_node.getContainer():
quality_changes_container = quality_changes_node.getContainer()
quality_changes_container = cast(InstanceContainer, quality_changes_node.getContainer())
if quality_node and quality_node.getContainer():
quality_container = quality_node.getContainer()
@ -1279,7 +1279,7 @@ class MachineManager(QObject):
continue
# The current material is not available, find the preferred one
material_node = self._material_manager.getDefaultMaterial(self._global_container_stack, position, current_variant_name)
material_node = self._material_manager.getDefaultMaterial(self._global_container_stack, position_item, current_variant_name)
if material_node is not None:
self._setMaterial(position_item, material_node)

View file

@ -19,6 +19,8 @@ class PerObjectContainerStack(CuraContainerStack):
context.pushContainer(self)
global_stack = Application.getInstance().getGlobalContainerStack()
if not global_stack:
return None
# Return the user defined value if present, otherwise, evaluate the value according to the default routine.
if self.getContainer(0).hasProperty(key, property_name):

View file

@ -171,7 +171,8 @@ class SettingInheritanceManager(QObject):
return False
## Also check if the top container is not a setting function (this happens if the inheritance is restored).
if isinstance(stack.getTop().getProperty(key, "value"), SettingFunction):
user_container = stack.getTop()
if user_container and isinstance(user_container.getProperty(key, "value"), SettingFunction):
return False
## Mash all containers for all the stacks together.

View file

@ -4,8 +4,7 @@
from configparser import ConfigParser
import zipfile
import os
from typing import Dict, List, Tuple
from typing import Dict, List, Tuple, cast
import xml.etree.ElementTree as ET
@ -98,13 +97,13 @@ class ThreeMFWorkspaceReader(WorkspaceReader):
self._3mf_mesh_reader = None
self._container_registry = ContainerRegistry.getInstance()
# suffixes registered with the MineTypes don't start with a dot '.'
self._definition_container_suffix = "." + ContainerRegistry.getMimeTypeForContainer(DefinitionContainer).preferredSuffix
# suffixes registered with the MimeTypes don't start with a dot '.'
self._definition_container_suffix = "." + cast(MimeType, ContainerRegistry.getMimeTypeForContainer(DefinitionContainer)).preferredSuffix
self._material_container_suffix = None # We have to wait until all other plugins are loaded before we can set it
self._instance_container_suffix = "." + ContainerRegistry.getMimeTypeForContainer(InstanceContainer).preferredSuffix
self._container_stack_suffix = "." + ContainerRegistry.getMimeTypeForContainer(ContainerStack).preferredSuffix
self._extruder_stack_suffix = "." + ContainerRegistry.getMimeTypeForContainer(ExtruderStack).preferredSuffix
self._global_stack_suffix = "." + ContainerRegistry.getMimeTypeForContainer(GlobalStack).preferredSuffix
self._instance_container_suffix = "." + cast(MimeType, ContainerRegistry.getMimeTypeForContainer(InstanceContainer)).preferredSuffix
self._container_stack_suffix = "." + cast(MimeType, ContainerRegistry.getMimeTypeForContainer(ContainerStack)).preferredSuffix
self._extruder_stack_suffix = "." + cast(MimeType, ContainerRegistry.getMimeTypeForContainer(ExtruderStack)).preferredSuffix
self._global_stack_suffix = "." + cast(MimeType, ContainerRegistry.getMimeTypeForContainer(GlobalStack)).preferredSuffix
# Certain instance container types are ignored because we make the assumption that only we make those types
# of containers. They are:

View file

@ -34,13 +34,13 @@ def main():
os.putenv("MYPYPATH", ":".join(mypyPathParts))
# Mypy really needs to be run via its Python script otherwise it can't find its data files.
mypyExe = where("mypy.bat" if sys.platform == "win32" else "mypy")
mypyModule = os.path.join(os.path.dirname(mypyExe), "mypy")
mypyExe = where("mypy.exe" if sys.platform == "win32" else "mypy")
mypyModule = os.path.join(os.path.dirname(mypyExe), "mypy.exe")
plugins = findModules("plugins")
plugins.sort()
mods = ["cura"] + plugins + findModules("plugins/VersionUpgrade")
mods = plugins + findModules("plugins/VersionUpgrade")
for mod in mods:
print("------------- Checking module {mod}".format(**locals()))