diff --git a/app/components/flagging_dashboard.py b/app/components/flagging_dashboard.py index de30a97..693031f 100644 --- a/app/components/flagging_dashboard.py +++ b/app/components/flagging_dashboard.py @@ -1,17 +1,31 @@ +import sys, os + +try: + thisFilePath = os.path.abspath(__file__) + print(thisFilePath) +except NameError: + print("[Notice] The __file__ attribute is unavailable in this environment (e.g., Jupyter or IDLE).") + print("When using a terminal, make sure the working directory is set to the script's location to prevent path issues (for the DIMA submodule)") + #print("Otherwise, path to submodule DIMA may not be resolved properly.") + thisFilePath = os.getcwd() # Use current directory or specify a default + +projectPath = os.path.normpath(os.path.join(thisFilePath, "..","..", "..")) + from dash import Dash, html, dcc, callback, Output, Input, State, dash_table import dash_bootstrap_components as dbc import yaml +from app import data_flagging_utils -with open('app/flags/ebas_dict.yaml') as stream: +with open(os.path.join(projectPath,'app/flags/ebas_dict.yaml')) as stream: try: flags_dict = yaml.safe_load(stream)["flags"] except yaml.YAMLError as exc: flags_dict = {} print(exc) -import data_flagging_utils + flagging_dashboard = dbc.Row([ html.H3("Create flags"), diff --git a/app/data_flagging_app.py b/app/data_flagging_app.py index 66281e4..6b10394 100644 --- a/app/data_flagging_app.py +++ b/app/data_flagging_app.py @@ -30,7 +30,7 @@ import io #sys.path.append(os.path.join(root_dir,'dima')) -import data_flagging_utils as data_flagging_utils +import app.data_flagging_utils as data_flagging_utils from dash import Dash, html, dcc, callback, Output, Input, State, dash_table import plotly.graph_objs as go @@ -50,12 +50,12 @@ import webbrowser from time import sleep -from components.instrument_dashboard import instrument_dashboard -from components.flagging_dashboard import flagging_dashboard -from components.upload_component import upload_component +from app.components.instrument_dashboard import instrument_dashboard +from app.components.flagging_dashboard import flagging_dashboard +from app.components.upload_component import upload_component import yaml -with open('app/flags/ebas_dict.yaml') as stream: +with open(os.path.join(projectPath,'app/flags/ebas_dict.yaml')) as stream: try: flags_dict = yaml.safe_load(stream)["flags"] except yaml.YAMLError as exc: @@ -776,9 +776,13 @@ def open_browser(): if not os.getenv("DOCKER_CONTAINER"): webbrowser.open_new("http://127.0.0.1:8050/") -if __name__ == '__main__': + +def main(): # Start the browser-opening function in a separate thread threading.Thread(target=open_browser).start() # Run the Dash app server on 0.0.0.0 to allow external access - app.run_server(host="0.0.0.0", port=8050, debug=True, use_reloader=False) \ No newline at end of file + app.run_server(host="0.0.0.0", port=8050, debug=True, use_reloader=False) + +if __name__ == '__main__': + main() \ No newline at end of file