From 821d314cb6436968166c25099e45ccb1dec21ab9 Mon Sep 17 00:00:00 2001 From: Florez Ospina Juan Felipe Date: Sat, 22 Feb 2025 17:10:53 +0100 Subject: [PATCH] Change import statements with try except to enable explicit import of submodules from import to avoid conflicts with parent project. --- instruments/instrument_registry.xlsx | Bin 0 -> 12089 bytes instruments/readers/acsm_tofware_reader.py | 5 ++++- instruments/readers/filereader_registry.py | 10 +++++++--- instruments/readers/flag_reader.py | 5 ++++- pipelines/data_integration.py | 12 +++++++++--- pipelines/metadata_revision.py | 7 ++++++- src/git_ops.py | 9 +++++++-- src/hdf5_ops.py | 10 +++++++--- src/hdf5_writer.py | 12 ++++++++---- visualization/hdf5_vis.py | 5 ++++- 10 files changed, 56 insertions(+), 19 deletions(-) create mode 100644 instruments/instrument_registry.xlsx diff --git a/instruments/instrument_registry.xlsx b/instruments/instrument_registry.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..283283bbe21aaa4cb7a490118e9275dc3db07ffc GIT binary patch literal 12089 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 M`5TO%see8FKeiicg8%>k literal 0 HcmV?d00001 diff --git a/instruments/readers/acsm_tofware_reader.py b/instruments/readers/acsm_tofware_reader.py index a519c18..c45039c 100644 --- a/instruments/readers/acsm_tofware_reader.py +++ b/instruments/readers/acsm_tofware_reader.py @@ -6,7 +6,10 @@ import yaml #root_dir = os.path.abspath(os.curdir) #sys.path.append(root_dir) -import utils.g5505_utils as utils +try: + from dima.utils import g5505_utils as utils +except ModuleNotFoundError: + import utils.g5505_utils as utils diff --git a/instruments/readers/filereader_registry.py b/instruments/readers/filereader_registry.py index fc4010d..ca745a2 100644 --- a/instruments/readers/filereader_registry.py +++ b/instruments/readers/filereader_registry.py @@ -3,9 +3,13 @@ import sys #root_dir = os.path.abspath(os.curdir) #sys.path.append(root_dir) -from instruments.readers.xps_ibw_reader import read_xps_ibw_file_as_dict -from instruments.readers.g5505_text_reader import read_txt_files_as_dict - +try: + from dima.instruments.readers.xps_ibw_reader import read_xps_ibw_file_as_dict + from dima.instruments.readers.g5505_text_reader import read_txt_files_as_dict + +except ModuleNotFoundError: + from instruments.readers.xps_ibw_reader import read_xps_ibw_file_as_dict + from instruments.readers.g5505_text_reader import read_txt_files_as_dict file_extensions = ['.ibw','.txt','.dat','.h5','.TXT','.csv','.pkl','.json','.yaml'] diff --git a/instruments/readers/flag_reader.py b/instruments/readers/flag_reader.py index 8534bb4..46cc249 100644 --- a/instruments/readers/flag_reader.py +++ b/instruments/readers/flag_reader.py @@ -8,7 +8,10 @@ import json #from instruments.readers import set_dima_path as configpath #configpath.set_dima_path() -from utils import g5505_utils +try: + from dima.utils import g5505_utils as utils +except ModuleNotFoundError: + import utils.g5505_utils as utils def read_jsonflag_as_dict(path_to_file): diff --git a/pipelines/data_integration.py b/pipelines/data_integration.py index cd453c0..5bb5bb7 100644 --- a/pipelines/data_integration.py +++ b/pipelines/data_integration.py @@ -22,9 +22,15 @@ from datetime import datetime from itertools import chain # Import DIMA modules -import src.hdf5_writer as hdf5_lib -import utils.g5505_utils as utils -from instruments.readers import filereader_registry +try: + from dima.src import hdf5_writer as hdf5_lib + from dima.utils import g5505_utils as utils + from dima.instruments.readers import filereader_registry +except ModuleNotFoundError: + print(':)') + import src.hdf5_writer as hdf5_lib + import utils.g5505_utils as utils + from instruments.readers import filereader_registry allowed_file_extensions = filereader_registry.file_extensions diff --git a/pipelines/metadata_revision.py b/pipelines/metadata_revision.py index 0089dc6..199c886 100644 --- a/pipelines/metadata_revision.py +++ b/pipelines/metadata_revision.py @@ -15,7 +15,12 @@ if dimaPath not in sys.path: # Avoid duplicate entries import h5py import yaml -import src.hdf5_ops as hdf5_ops + +try: + from dima.src import hdf5_ops as hdf5_ops +except ModuleNotFoundError: + import src.hdf5_ops as hdf5_ops + def load_yaml(review_yaml_file): diff --git a/src/git_ops.py b/src/git_ops.py index b7395dc..1c55231 100644 --- a/src/git_ops.py +++ b/src/git_ops.py @@ -1,7 +1,12 @@ import subprocess import os -import utils.g5505_utils as utils -from pipelines.metadata_revision import update_hdf5_file_with_review + +try: + from dima.utils import g5505_utils as utils + from dima.pipelines.metadata_revision import update_hdf5_file_with_review +except ModuleNotFoundError: + import utils.g5505_utils as utils + from pipelines.metadata_revision import update_hdf5_file_with_review def perform_git_operations(hdf5_upload): status_command = ['git', 'status'] diff --git a/src/hdf5_ops.py b/src/hdf5_ops.py index ba71f73..9b8575d 100644 --- a/src/hdf5_ops.py +++ b/src/hdf5_ops.py @@ -17,9 +17,6 @@ if dimaPath not in sys.path: # Avoid duplicate entries import h5py import pandas as pd import numpy as np - -import utils.g5505_utils as utils -import src.hdf5_writer as hdf5_lib import logging import datetime @@ -29,6 +26,13 @@ import yaml import json import copy +try: + from dima.utils import g5505_utils as utils + from dima.src import hdf5_writer as hdf5_lib +except ModuleNotFoundError: + import utils.g5505_utils as utils + import src.hdf5_writer as hdf5_lib + class HDF5DataOpsManager(): """ diff --git a/src/hdf5_writer.py b/src/hdf5_writer.py index 3006b7e..c8f1475 100644 --- a/src/hdf5_writer.py +++ b/src/hdf5_writer.py @@ -1,15 +1,19 @@ import sys import os -root_dir = os.path.abspath(os.curdir) -sys.path.append(root_dir) +#root_dir = os.path.abspath(os.curdir) +#sys.path.append(root_dir) import pandas as pd import numpy as np import h5py import logging -import utils.g5505_utils as utils -import instruments.readers.filereader_registry as filereader_registry +try: + from dima.utils import g5505_utils as utils + from dima.instruments.readers import filereader_registry as filereader_registry +except ModuleNotFoundError: + import utils.g5505_utils as utils + import instruments.readers.filereader_registry as filereader_registry diff --git a/visualization/hdf5_vis.py b/visualization/hdf5_vis.py index c1d8a22..1fc4948 100644 --- a/visualization/hdf5_vis.py +++ b/visualization/hdf5_vis.py @@ -13,8 +13,11 @@ from plotly.subplots import make_subplots import plotly.graph_objects as go import plotly.express as px #import plotly.io as pio -from src.hdf5_ops import get_parent_child_relationships +try: + from dima.src.hdf5_ops import get_parent_child_relationships +except ModuleNotFoundError: + from src.hdf5_ops import get_parent_child_relationships def display_group_hierarchy_on_a_treemap(filename: str):