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

Formatting and linting

parent 5319beb7
Loading
Loading
Loading
Loading
Loading
+22 −3
Original line number Diff line number Diff line
@@ -9,7 +9,13 @@ from openflexure_microscope.paths import (
    PREFERRED_OPENFLEXURE_VAR_PATH,
)

from . import check_capture_reload, check_settings, check_picamera, check_sangaboard, check_system
from . import (
    check_capture_reload,
    check_settings,
    check_picamera,
    check_sangaboard,
    check_system,
)

# Paths for suggestions
LOGS_PATHS = [
@@ -35,12 +41,25 @@ if "-d" in sys.argv or "--debug" in sys.argv:
    logger.setLevel(logging.DEBUG)
    logging.debug("Testing debug logger. One two one two.")
else:
    logger.setLevel(logging.INFO)
    logger.setLevel(logging.WARNING)


if __name__ == "__main__":
    spoof = False

    print()
    print(bcolors.HEADER + "OpenFlexure Rescue" + bcolors.ENDC)
    print()
    print(
        "This script attempts to identify common issues for a microscope not working properly."
    )
    print(
        "It is not designed to identify bugs in the code, but rather configuration or setup issues."
    )
    print()
    print("Any identified warnings [?] or errors [!] will be reported.")
    print()

    error_sources = []

    error_sources.extend(check_system.main())
@@ -51,7 +70,7 @@ if __name__ == "__main__":

    if not error_sources:
        print()
        print(bcolors.OKGREEN + "No errors found!" + bcolors.ENDC)
        print(bcolors.OKGREEN + "No issues found!" + bcolors.ENDC)
        print(
            "That's not to say everything is fine, only that our automatic diagnostics couldn't find much."
        )
+34 −19
Original line number Diff line number Diff line
@@ -4,10 +4,11 @@ import psutil

from .error_sources import WarningSource


def internet_on():
    test_urls = (
        'https://build.openflexure.org',  # Bath server
        'https://openflexure.org'  # GitHub pages
        "https://build.openflexure.org",  # Bath server
        "https://openflexure.org",  # GitHub pages
    )
    for url in test_urls:
        try:
@@ -25,29 +26,43 @@ def main():

    # Check internet
    if not internet_on():
        error_sources.append(WarningSource(
        error_sources.append(
            WarningSource(
                "No internet connection detected. Updates may not be available."
        ))
            )
        )

    # Check memory
    mem = psutil.virtual_memory()
    total_gb = mem.total / 1E9
    total_gb = mem.total / 1e9

    if total_gb <= 1:
        error_sources.append(WarningSource(
            ("Less than 1GB total memory available.",
        error_sources.append(
            WarningSource(
                (
                    "Less than 1GB total memory available.",
                    "For small scans, or control from another device, this is usually fine.",
            "\n    More complex usage may require additional resources.")
        ))
                    "\n    More complex usage may require additional resources.",
                )
            )
        )

    # Check disks
    data_partitions = [disk for disk in psutil.disk_partitions() if "rw" in disk.opts and disk.mountpoint != "/boot"]
    data_partitions = [
        disk
        for disk in psutil.disk_partitions()
        if "rw" in disk.opts and disk.mountpoint != "/boot"
    ]
    for part in data_partitions:
        usage = psutil.disk_usage(part.mountpoint)
        if int(usage.percent) >= 90:
            error_sources.append(WarningSource(
                (f"Disk {part.device}, at {part.mountpoint} is {int(usage.percent)}% full.",
                "Captures may fail to save soon.")
            ))
            error_sources.append(
                WarningSource(
                    (
                        f"Disk {part.device}, at {part.mountpoint} is {int(usage.percent)}% full.",
                        "Captures may fail to save soon.",
                    )
                )
            )

    return error_sources