Add upload messages for UI feedback, needs some refactoring

This commit is contained in:
ChrisTerBeke 2018-12-03 22:12:18 +01:00
parent 08e1b4691b
commit 5fdff17782
No known key found for this signature in database
GPG key ID: A49F1AB9D7E0C263
3 changed files with 76 additions and 28 deletions

View file

@ -180,13 +180,16 @@ class NetworkedPrinterOutputDevice(PrinterOutputDevice):
self._createNetworkManager()
assert (self._manager is not None)
def put(self, target: str, data: Union[str, bytes], on_finished: Optional[Callable[[QNetworkReply], None]]) -> None:
def put(self, target: str, data: Union[str, bytes], on_finished: Optional[Callable[[QNetworkReply], None]],
on_progress: Optional[Callable] = None) -> None:
self._validateManager()
request = self._createEmptyRequest(target)
self._last_request_time = time()
if self._manager is not None:
reply = self._manager.put(request, data if isinstance(data, bytes) else data.encode())
self._registerOnFinishedCallback(reply, on_finished)
if on_progress is not None:
reply.uploadProgress.connect(on_progress)
else:
Logger.log("e", "Could not find manager.")