Commit 4d2d39c5 authored by Joel Collins's avatar Joel Collins
Browse files

Restructured for better debugging

parent feddcc54
Loading
Loading
Loading
Loading
+13 −4
Original line number Diff line number Diff line
@@ -15,7 +15,12 @@ from flask_cors import CORS, cross_origin
from openflexure_microscope.api.utilities import list_routes, init_default_extensions

from openflexure_microscope.config import JSONEncoder
from openflexure_microscope.paths import EXTENSIONS_PATH, settings_file_path
from openflexure_microscope.paths import (
    OPENFLEXURE_ETC_PATH,
    OPENFLEXURE_VAR_PATH,
    OPENFLEXURE_EXTENSIONS_PATH,
    settings_file_path,
)

from openflexure_microscope.common.flask_labthings.quick import create_app
from openflexure_microscope.common.flask_labthings.extensions import find_extensions
@@ -53,6 +58,10 @@ else:
    logger.setLevel(logging.getLogger("gunicorn.error").level)


# 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(
    __name__,
@@ -72,9 +81,9 @@ app.json_encoder = JSONEncoder
labthing.add_component(api_microscope, "org.openflexure.microscope")

# Attach extensions
if not os.path.isfile(EXTENSIONS_PATH):
    init_default_extensions(EXTENSIONS_PATH)
for extension in find_extensions(EXTENSIONS_PATH):
if not os.path.isfile(OPENFLEXURE_EXTENSIONS_PATH):
    init_default_extensions(OPENFLEXURE_EXTENSIONS_PATH)
for extension in find_extensions(OPENFLEXURE_EXTENSIONS_PATH):
    labthing.register_extension(extension)

# Attach captures resources
+21 −34
Original line number Diff line number Diff line
import os
import logging

# HANDLE DEFAULTS FILES STORED IN THIS APPLICATION
# UTILITIES

HERE = os.path.abspath(os.path.dirname(__file__))

#: Path of default (first-run) microscope settings
DEFAULT_CONFIG_FILE_PATH = os.path.join(HERE, "microscope_settings.default.json")
def check_rw(path):
    return os.access(path, os.W_OK) and os.access(path, os.R_OK)


# HANDLE WINDOWS BASE PATHS
"""
if os.name == "nt":
    VAR_PATH = os.getenv("PROGRAMDATA") or "C:\\ProgramData"
else:
    if os.access("/var", os.W_OK) and os.access("/var", os.R_OK):
        VAR_PATH = "/var"
    else:
        VAR_PATH = os.path.expanduser("~")
OPENFLEXURE_VAR_PATH = os.path.join(VAR_PATH, "openflexure")
print(f"Running with server settings directory {OPENFLEXURE_VAR_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)


def check_rw(path):
    return os.access(path, os.W_OK) and os.access(path, os.R_OK)
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)


# HANDLE DEFAULTS FILES STORED IN THIS APPLICATION

HERE = os.path.abspath(os.path.dirname(__file__))

#: Path of default (first-run) microscope settings
DEFAULT_CONFIG_FILE_PATH = os.path.join(HERE, "microscope_settings.default.json")


# DATA BASE PATHS
@@ -48,7 +47,7 @@ else:
    if not os.path.exists(FALLBACK_OPENFLEXURE_VAR_PATH):
        os.makedirs(FALLBACK_OPENFLEXURE_VAR_PATH)
    OPENFLEXURE_VAR_PATH = FALLBACK_OPENFLEXURE_VAR_PATH
print(f"Running with data path {OPENFLEXURE_VAR_PATH}")


# SERVER BASE PATHS

@@ -71,7 +70,6 @@ else:
    if not os.path.exists(FALLBACK_OPENFLEXURE_ETC_PATH):
        os.makedirs(FALLBACK_OPENFLEXURE_ETC_PATH)
    OPENFLEXURE_ETC_PATH = FALLBACK_OPENFLEXURE_ETC_PATH
print(f"Running with server path {OPENFLEXURE_ETC_PATH}")


# SERVER PATHS
@@ -79,20 +77,9 @@ print(f"Running with server path {OPENFLEXURE_ETC_PATH}")
#: Path of microscope settings directory
CONFIG_FILE_PATH = os.path.join(OPENFLEXURE_ETC_PATH, "microscope_settings.json")
#: Path of microscope extensions directory
EXTENSIONS_PATH = os.path.join(OPENFLEXURE_ETC_PATH, "microscope_extensions")
OPENFLEXURE_EXTENSIONS_PATH = os.path.join(
    OPENFLEXURE_ETC_PATH, "microscope_extensions"
)


# DATA PATHS


# UTILITIES


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)


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)