diff --git a/.gitignore b/.gitignore index 73ee6e8fed06903d1fc5ff4abdcccb333ef4fd29..b639af27127871982e8dc5a4227125afeb9fa488 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ deprecated backup/ dev/ quickstats/macros/CMSSWCore/ +quickstats/resources/workspace_extensions.json diff --git a/quickstats/_version.py b/quickstats/_version.py index 8ac19a8444361164c839beeb29d875d7fe71d05d..4ac5910f60a96fba2288d7816e23d24b80ba5ad2 100644 --- a/quickstats/_version.py +++ b/quickstats/_version.py @@ -1 +1 @@ -__version__ = "0.6.5.7" +__version__ = "0.6.5.9" diff --git a/quickstats/core/methods.py b/quickstats/core/methods.py index cd9d5483d800263a47c0fa3ac248166e388935bc..6b30e678499b41fd21f2e109dff3aaab5c66bd5d 100644 --- a/quickstats/core/methods.py +++ b/quickstats/core/methods.py @@ -58,10 +58,7 @@ def get_root_version(): return root_version def get_workspace_extensions(): - resource_path = quickstats.resource_path - extension_config_file = os.path.join(resource_path, "workspace_extensions.json") - with open(extension_config_file, "r") as file: - extension_config = json.load(file) + extension_config = get_workspace_extension_config() extensions = extension_config['required'] if not extension_config['strict']: # deprecated extension @@ -69,6 +66,15 @@ def get_workspace_extensions(): extensions.remove('FlexibleInterpVarMkII') return extensions +def get_workspace_extension_config(): + resource_path = quickstats.resource_path + extension_config_file = os.path.join(resource_path, "workspace_extensions.json") + if not os.path.exists(extension_config_file): + extension_config_file = os.path.join(resource_path, "default_workspace_extensions.json") + with open(extension_config_file, "r") as file: + extension_config = json.load(file) + return extension_config + def add_macro(path:str, name:Optional[str]=None, copy_files:bool=True, workspace_extension:bool=True): if not os.path.isdir(path): raise ValueError("macro path must be a directory") @@ -94,8 +100,7 @@ def add_macro(path:str, name:Optional[str]=None, copy_files:bool=True, workspace if workspace_extension: resource_path = quickstats.resource_path extension_config_file = os.path.join(resource_path, "workspace_extensions.json") - with open(extension_config_file, "r") as file: - extension_config = json.load(file) + extension_config = get_workspace_extension_config() if name not in extension_config['required']: extension_config['required'].append(name) with open(extension_config_file, "w") as file: @@ -105,8 +110,7 @@ def add_macro(path:str, name:Optional[str]=None, copy_files:bool=True, workspace def remove_macro(name:str, remove_files:bool=True): resource_path = quickstats.resource_path extension_config_file = os.path.join(resource_path, "workspace_extensions.json") - with open(extension_config_file, "r") as file: - extension_config = json.load(file) + extension_config = get_workspace_extension_config() if (name not in extension_config): quickstats.__PRINT__.info(f'WARNING: Extension "{name}" not found in the workspace extension list. Skipped.') else: diff --git a/quickstats/resources/workspace_extensions.json b/quickstats/resources/default_workspace_extensions.json similarity index 100% rename from quickstats/resources/workspace_extensions.json rename to quickstats/resources/default_workspace_extensions.json diff --git a/setup.py b/setup.py index 11cc5ce4a469926001bf4b3a06a594eafb75755c..50fde5d0f8c69c823d19edf900bef4ec4756e543 100644 --- a/setup.py +++ b/setup.py @@ -32,6 +32,7 @@ setup( long_description_content_type="text/markdown", packages=setuptools.find_packages(), package_data={'quickstats':['macros/*/*.cxx', 'macros/*/*.h', 'stylesheets/*', 'resources/*']}, + exclude_package_data={'quickstats':['macros/CMSSWCore/*', 'resources/workspace_extensions.json']}, classifiers=[ "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", diff --git a/setup.sh b/setup.sh index 699acabdf8a09d928b07925acb0fd3bfde73a506..1469d468d934cdcdce6123cfabcd8c1e4537aff6 100644 --- a/setup.sh +++ b/setup.sh @@ -30,11 +30,11 @@ then export PYTHONPATH=${DIR}:${PYTHONPATH} elif [[ "$EnvironmentName" = "dev" ]]; then - export PATH=/afs/cern.ch/work/c/chlcheng/local/miniconda/envs/ml-base/bin:$PATH + export PATH=/afs/cern.ch/work/c/chlcheng/local/miniconda/envs/root-latest/bin:$PATH export PATH=${DIR}/bin:${PATH} export PYTHONPATH=${DIR}:${PYTHONPATH} elif [[ "$EnvironmentName" = "conda" ]]; then echo Entering default conda environment - export PATH=/afs/cern.ch/work/c/chlcheng/local/miniconda/envs/ml-base/bin:$PATH + export PATH=/afs/cern.ch/work/c/chlcheng/local/miniconda/envs/root-latest/bin:$PATH fi \ No newline at end of file