Some defenses against possible None values

This commit is contained in:
ChrisTerBeke 2019-08-02 15:46:14 +02:00
parent bd4c4b1f1d
commit 91ac7dbc24
2 changed files with 6 additions and 1 deletions

View file

@ -53,11 +53,16 @@ class ZeroConfClient:
## Handles a change is discovered network services.
def _queueService(self, zeroconf: Zeroconf, service_type, name: str, state_change: ServiceStateChange) -> None:
item = (zeroconf, service_type, name, state_change)
if not self._service_changed_request_queue or not self._service_changed_request_event:
return
self._service_changed_request_queue.put(item)
self._service_changed_request_event.set()
## Callback for when a ZeroConf service has changes.
def _handleOnServiceChangedRequests(self) -> None:
if not self._service_changed_request_queue or not self._service_changed_request_event:
return
while True:
# Wait for the event to be set
self._service_changed_request_event.wait(timeout=5.0)

View file

@ -195,7 +195,7 @@ class UltimakerNetworkedPrinterOutputDevice(NetworkedPrinterOutputDevice):
# Check which printers need to be created or updated.
for index, printer_data in enumerate(remote_printers):
printer = next(iter(printer for printer in self._printers if printer.key == printer_data.uuid), None)
printer = next(iter(printer for printer in self._printers if printer.key == printer_data.uuid))
if not printer:
printer = printer_data.createOutputModel(ClusterOutputController(self))
else: