diff --git a/openflexure_microscope/rescue/check_picamera.py b/openflexure_microscope/rescue/check_picamera.py index bd9582f2..f7ddbbd7 100644 --- a/openflexure_microscope/rescue/check_picamera.py +++ b/openflexure_microscope/rescue/check_picamera.py @@ -1,17 +1,19 @@ import logging -from .error_sources import ErrorSource, WarningSource +from .error_sources import ErrorSource picamera_import_error = ErrorSource( - "Picamera module could not be imported. Check physical connections to the camera as it may be damaged." + ("Picamera module could not be imported.", + "Check physical connections to the camera as it may be damaged or disconnected.") ) + def main(): error_sources = [] logging.info("Attempting to import picamera...") try: - from picamerax import PiCamera + from picamerax import PiCamera as _ except Exception as e: # pylint: disable=W0703 # TODO: Parse exception object for a few different issues, and append different error sources # E.g. pi with camera already in use, disconnected, unsupported OS, etc diff --git a/openflexure_microscope/rescue/check_sangaboard.py b/openflexure_microscope/rescue/check_sangaboard.py index 76821686..de8c480b 100644 --- a/openflexure_microscope/rescue/check_sangaboard.py +++ b/openflexure_microscope/rescue/check_sangaboard.py @@ -8,37 +8,42 @@ def main(): try: from sangaboard import Sangaboard - except Exception as e: # pylint: disable=W0703 - error_sources.append(ErrorSource( - "Sangaboard module could not be imported." - )) + except ImportError as e: + error_sources.append(ErrorSource(str(e))) else: configuration = user_configuration.load() stage_type = configuration["stage"].get("type") stage_port = configuration["stage"].get("port") - error_sources.append(WarningSource( - "Stage serial port is not specified in configuration. Application will scan ports for a Sangaboard." - )) - + error_sources.append( + WarningSource( + "Stage serial port is not specified in configuration. Application will scan ports for a Sangaboard." + ) + ) # If any Sangaboard-based stage is configured for use if stage_type in ("SangaBoard", "SangaStage", "SangaDeltaStage"): # Try connecting on the specified port try: _ = Sangaboard(stage_port) - except FileNotFoundError as e: # pylint: disable=W0703 + except FileNotFoundError as e: if stage_port: - error_sources.append(ErrorSource( - f"No {stage_type} device was found on the configured port {stage_port}." - )) + error_sources.append( + ErrorSource( + f"No {stage_type} device was found on the configured port {stage_port}." + ) + ) else: - error_sources.append(ErrorSource( - f"No {stage_type} device was found during port scanning." - )) + error_sources.append( + ErrorSource( + f"No {stage_type} device was found during port scanning." + ) + ) else: - error_sources.append(ErrorSource( - f"Invalid stage type {stage_type} specified in configuration file." - )) + error_sources.append( + ErrorSource( + f"Invalid stage type {stage_type} specified in configuration file." + ) + ) return error_sources