Add typings and fix code style

This commit is contained in:
Ian Paschal 2018-09-06 16:57:45 +02:00
parent 53d083e232
commit 4cc1b6ce02
9 changed files with 61 additions and 39 deletions

View File

@ -10,7 +10,7 @@ class PrintJobPreviewImageProvider(QQuickImageProvider):
super().__init__(QQuickImageProvider.Image) super().__init__(QQuickImageProvider.Image)
## Request a new image. ## Request a new image.
def requestImage(self, id, size): def requestImage(self, id: str, size: QSize) -> QImage:
# The id will have an uuid and an increment separated by a slash. As we don't care about the value of the # The id will have an uuid and an increment separated by a slash. As we don't care about the value of the
# increment, we need to strip that first. # increment, we need to strip that first.
uuid = id[id.find("/") + 1:] uuid = id[id.find("/") + 1:]

View File

@ -11,7 +11,7 @@ class ExtruderConfigurationModel(QObject):
extruderConfigurationChanged = pyqtSignal() extruderConfigurationChanged = pyqtSignal()
def __init__(self, position: int = -1): def __init__(self, position: int = -1) -> None:
super().__init__() super().__init__()
self._position = position # type: int self._position = position # type: int
self._material = None # type: Optional[MaterialOutputModel] self._material = None # type: Optional[MaterialOutputModel]
@ -24,17 +24,17 @@ class ExtruderConfigurationModel(QObject):
def position(self) -> int: def position(self) -> int:
return self._position return self._position
def setMaterial(self, material: Optional[MaterialOutputModel]): def setMaterial(self, material: Optional[MaterialOutputModel]) -> None:
if self._hotend_id != material: if self._hotend_id != material:
self._material = material self._material = material
self.extruderConfigurationChanged.emit() self.extruderConfigurationChanged.emit()
@pyqtProperty(QObject, fset = setMaterial, notify = extruderConfigurationChanged) @pyqtProperty(QObject, fset = setMaterial, notify = extruderConfigurationChanged)
def activeMaterial(self) -> MaterialOutputModel: def activeMaterial(self) -> Optional[MaterialOutputModel]:
return self._material return self._material
@pyqtProperty(QObject, fset=setMaterial, notify=extruderConfigurationChanged) @pyqtProperty(QObject, fset=setMaterial, notify=extruderConfigurationChanged)
def material(self) -> MaterialOutputModel: def material(self) -> Optional[MaterialOutputModel]:
return self._material return self._material
def setHotendID(self, hotend_id: Optional[str]) -> None: def setHotendID(self, hotend_id: Optional[str]) -> None:

View File

@ -22,8 +22,8 @@ class ExtruderOutputModel(QObject):
super().__init__(parent) super().__init__(parent)
self._printer = printer # type: PrinterOutputModel self._printer = printer # type: PrinterOutputModel
self._position = position self._position = position
self._target_hotend_temperature = 0 # type: float self._target_hotend_temperature = 0.0 # type: float
self._hotend_temperature = 0 # type: float self._hotend_temperature = 0.0 # type: float
self._is_preheating = False self._is_preheating = False
@ -50,7 +50,7 @@ class ExtruderOutputModel(QObject):
def activeMaterial(self) -> Optional["MaterialOutputModel"]: def activeMaterial(self) -> Optional["MaterialOutputModel"]:
return self._extruder_configuration.activeMaterial return self._extruder_configuration.activeMaterial
def updateActiveMaterial(self, material: Optional["MaterialOutputModel"]): def updateActiveMaterial(self, material: Optional["MaterialOutputModel"]) -> None:
self._extruder_configuration.setMaterial(material) self._extruder_configuration.setMaterial(material)
## Update the hotend temperature. This only changes it locally. ## Update the hotend temperature. This only changes it locally.

View File

@ -197,31 +197,43 @@ class NetworkedPrinterOutputDevice(PrinterOutputDevice):
self._validateManager() self._validateManager()
request = self._createEmptyRequest(target) request = self._createEmptyRequest(target)
self._last_request_time = time() self._last_request_time = time()
if self._manager is not None:
reply = self._manager.put(request, data.encode()) reply = self._manager.put(request, data.encode())
self._registerOnFinishedCallback(reply, on_finished) self._registerOnFinishedCallback(reply, on_finished)
else:
Logger.log("e", "Could not find manager.")
def delete(self, target: str, on_finished: Optional[Callable[[QNetworkReply], None]]) -> None: def delete(self, target: str, on_finished: Optional[Callable[[QNetworkReply], None]]) -> None:
self._validateManager() self._validateManager()
request = self._createEmptyRequest(target) request = self._createEmptyRequest(target)
self._last_request_time = time() self._last_request_time = time()
if self._manager is not None:
reply = self._manager.deleteResource(request) reply = self._manager.deleteResource(request)
self._registerOnFinishedCallback(reply, on_finished) self._registerOnFinishedCallback(reply, on_finished)
else:
Logger.log("e", "Could not find manager.")
def get(self, target: str, on_finished: Optional[Callable[[QNetworkReply], None]]) -> None: def get(self, target: str, on_finished: Optional[Callable[[QNetworkReply], None]]) -> None:
self._validateManager() self._validateManager()
request = self._createEmptyRequest(target) request = self._createEmptyRequest(target)
self._last_request_time = time() self._last_request_time = time()
if self._manager is not None:
reply = self._manager.get(request) reply = self._manager.get(request)
self._registerOnFinishedCallback(reply, on_finished) self._registerOnFinishedCallback(reply, on_finished)
else:
Logger.log("e", "Could not find manager.")
def post(self, target: str, data: str, on_finished: Optional[Callable[[QNetworkReply], None]], on_progress: Callable = None) -> None: def post(self, target: str, data: str, on_finished: Optional[Callable[[QNetworkReply], None]], on_progress: Callable = None) -> None:
self._validateManager() self._validateManager()
request = self._createEmptyRequest(target) request = self._createEmptyRequest(target)
self._last_request_time = time() self._last_request_time = time()
if self._manager is not None:
reply = self._manager.post(request, data) reply = self._manager.post(request, data)
if on_progress is not None: if on_progress is not None:
reply.uploadProgress.connect(on_progress) reply.uploadProgress.connect(on_progress)
self._registerOnFinishedCallback(reply, on_finished) self._registerOnFinishedCallback(reply, on_finished)
else:
Logger.log("e", "Could not find manager.")
def postFormWithParts(self, target: str, parts: List[QHttpPart], on_finished: Optional[Callable[[QNetworkReply], None]], on_progress: Callable = None) -> QNetworkReply: def postFormWithParts(self, target: str, parts: List[QHttpPart], on_finished: Optional[Callable[[QNetworkReply], None]], on_progress: Callable = None) -> QNetworkReply:
self._validateManager() self._validateManager()
@ -232,6 +244,7 @@ class NetworkedPrinterOutputDevice(PrinterOutputDevice):
self._last_request_time = time() self._last_request_time = time()
if self._manager is not None:
reply = self._manager.post(request, multi_post_part) reply = self._manager.post(request, multi_post_part)
self._kept_alive_multiparts[reply] = multi_post_part self._kept_alive_multiparts[reply] = multi_post_part
@ -241,6 +254,8 @@ class NetworkedPrinterOutputDevice(PrinterOutputDevice):
self._registerOnFinishedCallback(reply, on_finished) self._registerOnFinishedCallback(reply, on_finished)
return reply return reply
else:
Logger.log("e", "Could not find manager.")
def postForm(self, target: str, header_data: str, body_data: bytes, on_finished: Optional[Callable[[QNetworkReply], None]], on_progress: Callable = None) -> None: def postForm(self, target: str, header_data: str, body_data: bytes, on_finished: Optional[Callable[[QNetworkReply], None]], on_progress: Callable = None) -> None:
post_part = QHttpPart() post_part = QHttpPart()

View File

@ -40,7 +40,7 @@ class PrintJobOutputModel(QObject):
self._compatible_machine_families = [] # type: List[str] self._compatible_machine_families = [] # type: List[str]
self._preview_image_id = 0 self._preview_image_id = 0
self._preview_image = None self._preview_image = None # type: Optional[QImage]
@pyqtProperty("QStringList", notify=compatibleMachineFamiliesChanged) @pyqtProperty("QStringList", notify=compatibleMachineFamiliesChanged)
def compatibleMachineFamilies(self): def compatibleMachineFamilies(self):
@ -61,10 +61,10 @@ class PrintJobOutputModel(QObject):
temp = "image://print_job_preview/" + str(self._preview_image_id) + "/" + self._key temp = "image://print_job_preview/" + str(self._preview_image_id) + "/" + self._key
return QUrl(temp, QUrl.TolerantMode) return QUrl(temp, QUrl.TolerantMode)
def getPreviewImage(self): def getPreviewImage(self) -> Optional[QImage]:
return self._preview_image return self._preview_image
def updatePreviewImage(self, preview_image: Optional[QImage]): def updatePreviewImage(self, preview_image: Optional[QImage]) -> None:
if self._preview_image != preview_image: if self._preview_image != preview_image:
self._preview_image = preview_image self._preview_image = preview_image
self.previewImageChanged.emit() self.previewImageChanged.emit()

View File

@ -357,7 +357,14 @@ Component
function switchPopupState() function switchPopupState()
{ {
popup.visible ? popup.close() : popup.open() if (popup.visible)
{
popup.close()
}
else
{
popup.open()
}
} }
Controls2.Button Controls2.Button

View File

@ -101,8 +101,6 @@ Component
{ {
if (monitorFrame != null && !monitorFrame.visible) if (monitorFrame != null && !monitorFrame.visible)
{ {
// After switching the Tab ensure that active printer is Null, the video stream image
// might be active
OutputDevice.setActiveCamera(null) OutputDevice.setActiveCamera(null)
} }
} }

View File

@ -146,6 +146,7 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice):
Logger.log("e", "Missing file or mesh writer!") Logger.log("e", "Missing file or mesh writer!")
return return
self._sending_job = self._sendPrintJob(writer, preferred_format, nodes) self._sending_job = self._sendPrintJob(writer, preferred_format, nodes)
if self._sending_job is not None:
self._sending_job.send(None) # Start the generator. self._sending_job.send(None) # Start the generator.
if len(self._printers) > 1: # We need to ask the user. if len(self._printers) > 1: # We need to ask the user.
@ -171,6 +172,7 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice):
# \param target_printer The name of the printer to target. # \param target_printer The name of the printer to target.
@pyqtSlot(str) @pyqtSlot(str)
def selectPrinter(self, target_printer: str = "") -> None: def selectPrinter(self, target_printer: str = "") -> None:
if self._sending_job is not None:
self._sending_job.send(target_printer) self._sending_job.send(target_printer)
@pyqtSlot() @pyqtSlot()

View File

@ -22,7 +22,7 @@ Item
anchors.verticalCenter: printAndMaterialLabel.verticalCenter anchors.verticalCenter: printAndMaterialLabel.verticalCenter
opacity: opacity:
{ {
if(printCoreConfiguration == undefined || printCoreConfiguration.activeMaterial == undefined || printCoreConfiguration.hotendID == undefined) if(printCoreConfiguration == null || printCoreConfiguration.activeMaterial == null || printCoreConfiguration.hotendID == null)
{ {
return 0.5 return 0.5
} }