Static type analysis

This commit is contained in:
Joel Collins 2020-11-30 13:36:45 +00:00
parent 3aebb8bead
commit 7866ec0f47
63 changed files with 1825 additions and 2722 deletions

View file

@ -3,11 +3,11 @@ import os
# UTILITIES
def check_rw(path):
def check_rw(path: str) -> bool:
return os.access(path, os.W_OK) and os.access(path, os.R_OK)
def settings_file_path(filename: str):
def settings_file_path(filename: str) -> str:
"""Generate a full file path for a filename to be stored in server settings folder"""
settings_dir = os.path.join(OPENFLEXURE_VAR_PATH, "settings")
if not os.path.exists(settings_dir):
@ -15,7 +15,7 @@ def settings_file_path(filename: str):
return os.path.join(settings_dir, filename)
def data_file_path(filename: str):
def data_file_path(filename: str) -> str:
"""Generate a full file path for a filename to be stored in server data folder"""
data_dir = os.path.join(OPENFLEXURE_VAR_PATH, "data")
if not os.path.exists(data_dir):
@ -23,7 +23,7 @@ def data_file_path(filename: str):
return os.path.join(data_dir, filename)
def extensions_file_path(filename: str):
def extensions_file_path(filename: str) -> str:
"""Generate a full file path for a folder to be stored in server extensions"""
ext_dir = os.path.join(OPENFLEXURE_VAR_PATH, "extensions")
if not os.path.exists(ext_dir):
@ -31,7 +31,7 @@ def extensions_file_path(filename: str):
return os.path.join(ext_dir, filename)
def logs_file_path(filename: str):
def logs_file_path(filename: str) -> str:
"""Generate a full file path for a filename to be stored in server logs"""
logs_dir = os.path.join(OPENFLEXURE_VAR_PATH, "logs")
if not os.path.exists(logs_dir):
@ -42,14 +42,14 @@ def logs_file_path(filename: str):
# BASE PATHS
if os.name == "nt":
PREFERRED_VAR_PATH = os.getenv("PROGRAMDATA") or "C:\\ProgramData"
FALLBACK_VAR_PATH = os.path.expanduser("~")
PREFERRED_VAR_PATH: str = os.getenv("PROGRAMDATA") or "C:\\ProgramData"
FALLBACK_VAR_PATH: str = os.path.expanduser("~")
else:
PREFERRED_VAR_PATH = "/var"
FALLBACK_VAR_PATH = os.path.expanduser("~")
PREFERRED_OPENFLEXURE_VAR_PATH = os.path.join(PREFERRED_VAR_PATH, "openflexure")
FALLBACK_OPENFLEXURE_VAR_PATH = os.path.join(FALLBACK_VAR_PATH, "openflexure")
PREFERRED_OPENFLEXURE_VAR_PATH: str = os.path.join(PREFERRED_VAR_PATH, "openflexure")
FALLBACK_OPENFLEXURE_VAR_PATH: str = os.path.join(FALLBACK_VAR_PATH, "openflexure")
if not os.path.exists(PREFERRED_OPENFLEXURE_VAR_PATH) and check_rw(PREFERRED_VAR_PATH):
os.makedirs(PREFERRED_OPENFLEXURE_VAR_PATH)
@ -65,8 +65,8 @@ else:
# SERVER PATHS
#: Path of microscope settings file
SETTINGS_FILE_PATH = settings_file_path("microscope_settings.json")
SETTINGS_FILE_PATH: str = settings_file_path("microscope_settings.json")
#: Path of microscope configuration file
CONFIGURATION_FILE_PATH = settings_file_path("microscope_configuration.json")
CONFIGURATION_FILE_PATH: str = settings_file_path("microscope_configuration.json")
#: Path of microscope extensions directory
OPENFLEXURE_EXTENSIONS_PATH = extensions_file_path("microscope_extensions")
OPENFLEXURE_EXTENSIONS_PATH: str = extensions_file_path("microscope_extensions")