diff --git a/openflexure_microscope/api/app.py b/openflexure_microscope/api/app.py index 6ca80e75..4b6fa948 100644 --- a/openflexure_microscope/api/app.py +++ b/openflexure_microscope/api/app.py @@ -16,7 +16,6 @@ from openflexure_microscope.api.utilities import list_routes, init_default_exten from openflexure_microscope.config import JSONEncoder from openflexure_microscope.paths import ( - OPENFLEXURE_ETC_PATH, OPENFLEXURE_VAR_PATH, OPENFLEXURE_EXTENSIONS_PATH, settings_file_path, @@ -60,7 +59,6 @@ else: # Log server paths being used logging.info(f"Running with data path {OPENFLEXURE_VAR_PATH}") -logging.info(f"Running with server path {OPENFLEXURE_ETC_PATH}") # Create flask app app, labthing = create_app( diff --git a/openflexure_microscope/config.py b/openflexure_microscope/config.py index d4b3aa3f..8e613574 100644 --- a/openflexure_microscope/config.py +++ b/openflexure_microscope/config.py @@ -7,7 +7,7 @@ from uuid import UUID import numpy as np from fractions import Fraction -from .paths import OPENFLEXURE_ETC_PATH, CONFIG_FILE_PATH, DEFAULT_CONFIG_FILE_PATH +from .paths import CONFIG_FILE_PATH, DEFAULT_CONFIG_FILE_PATH class OpenflexureSettingsFile: diff --git a/openflexure_microscope/paths.py b/openflexure_microscope/paths.py index 6650f5a5..4fbcfd53 100644 --- a/openflexure_microscope/paths.py +++ b/openflexure_microscope/paths.py @@ -10,12 +10,17 @@ def check_rw(path): def settings_file_path(filename: str): """Generate a full file path for a filename to be stored in server settings folder""" - return os.path.join(OPENFLEXURE_ETC_PATH, filename) + return os.path.join(OPENFLEXURE_VAR_PATH, "settings", filename) def data_file_path(filename: str): """Generate a full file path for a filename to be stored in server data folder""" - return os.path.join(OPENFLEXURE_VAR_PATH, filename) + return os.path.join(OPENFLEXURE_VAR_PATH, "data", filename) + + +def extensions_file_path(filename: str): + """Generate a full file path for a folder to be stored in server extensions""" + return os.path.join(OPENFLEXURE_VAR_PATH, "extensions", filename) # HANDLE DEFAULTS FILES STORED IN THIS APPLICATION @@ -26,7 +31,7 @@ HERE = os.path.abspath(os.path.dirname(__file__)) DEFAULT_CONFIG_FILE_PATH = os.path.join(HERE, "microscope_settings.default.json") -# DATA BASE PATHS +# BASE PATHS if os.name == "nt": PREFERRED_VAR_PATH = os.getenv("PROGRAMDATA") or "C:\\ProgramData" @@ -49,37 +54,9 @@ else: OPENFLEXURE_VAR_PATH = FALLBACK_OPENFLEXURE_VAR_PATH -# SERVER BASE PATHS - -if os.name == "nt": - PREFERRED_ETC_PATH = os.getenv("PROGRAMDATA") or "C:\\ProgramData" - FALLBACK_ETC_PATH = os.path.expanduser("~") -else: - PREFERRED_ETC_PATH = "/etc" - FALLBACK_ETC_PATH = os.path.join(os.path.expanduser("~"), ".config") - -PREFERRED_OPENFLEXURE_ETC_PATH = os.path.join(PREFERRED_ETC_PATH, "openflexure") -FALLBACK_OPENFLEXURE_ETC_PATH = os.path.join(FALLBACK_ETC_PATH, "openflexure") - -if not os.path.exists(PREFERRED_OPENFLEXURE_ETC_PATH) and check_rw(PREFERRED_ETC_PATH): - os.makedirs(PREFERRED_OPENFLEXURE_ETC_PATH) - -if check_rw(PREFERRED_OPENFLEXURE_ETC_PATH): - OPENFLEXURE_ETC_PATH = PREFERRED_OPENFLEXURE_ETC_PATH -else: - if not os.path.exists(FALLBACK_OPENFLEXURE_ETC_PATH): - os.makedirs(FALLBACK_OPENFLEXURE_ETC_PATH) - OPENFLEXURE_ETC_PATH = FALLBACK_OPENFLEXURE_ETC_PATH - - # SERVER PATHS #: Path of microscope settings directory -CONFIG_FILE_PATH = os.path.join(OPENFLEXURE_ETC_PATH, "microscope_settings.json") +CONFIG_FILE_PATH = settings_file_path("microscope_settings.json") #: Path of microscope extensions directory -OPENFLEXURE_EXTENSIONS_PATH = os.path.join( - OPENFLEXURE_ETC_PATH, "microscope_extensions" -) - - -# DATA PATHS +OPENFLEXURE_EXTENSIONS_PATH = extensions_file_path("microscope_extensions")