Commit de135abc authored by Joel Collins's avatar Joel Collins
Browse files

Style and linting

parent f12671fa
Loading
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
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
+23 −18
Original line number Diff line number Diff line
@@ -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(
        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(
                    error_sources.append(
                        ErrorSource(
                            f"No {stage_type} device was found on the configured port {stage_port}."
                    ))
                        )
                    )
                else:
                    error_sources.append(ErrorSource(
                    error_sources.append(
                        ErrorSource(
                            f"No {stage_type} device was found during port scanning."
                    ))
                        )
                    )
        else:
            error_sources.append(ErrorSource(
            error_sources.append(
                ErrorSource(
                    f"Invalid stage type {stage_type} specified in configuration file."
            ))
                )
            )

    return error_sources