Formatting and linting

This commit is contained in:
Joel Collins 2020-11-06 17:11:17 +00:00
parent 5319beb735
commit e41656355f
2 changed files with 56 additions and 22 deletions

View file

@ -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."
)

View file

@ -4,17 +4,18 @@ 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:
urlopen(url, timeout=10)
# If any test passes, return True
return True
except URLError:
except URLError:
pass
# If no test passed, return False
return False
@ -22,32 +23,46 @@ def internet_on():
def main():
error_sources = []
# Check internet
if not internet_on():
error_sources.append(WarningSource(
"No internet connection detected. Updates may not be available."
))
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.",
"For small scans, or control from another device, this is usually fine.",
"\n More complex usage may require additional resources.")
))
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.",
)
)
)
# 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