aboutsummaryrefslogtreecommitdiffstats
path: root/fg21sim
diff options
context:
space:
mode:
authorAaron LI <aaronly.me@outlook.com>2016-12-09 19:03:27 +0800
committerAaron LI <aaronly.me@outlook.com>2016-12-09 19:05:46 +0800
commit2e01bf4145087159fbecc741a9e8a96dc0a2b9c3 (patch)
tree3873ec0a5df9954cdd15016214545055ff18ed18 /fg21sim
parent7038b8b6f14e9c50cd3ebb7c1e90cf9b12b57613 (diff)
downloadfg21sim-2e01bf4145087159fbecc741a9e8a96dc0a2b9c3.tar.bz2
products.py: Add parameter "load" to __init__()
The "load" parameter explicitly controls whether to load the specified manifest file. Update "foregrounds.py" to use this new "load" parameter, which prevent the manifest file been loaded. Otherwise, if the output manifest file already exists, it will be loaded to Products, which may cause inconsistencies with the manifest of newly simulated products.
Diffstat (limited to 'fg21sim')
-rw-r--r--fg21sim/foregrounds.py2
-rw-r--r--fg21sim/products.py16
2 files changed, 11 insertions, 7 deletions
diff --git a/fg21sim/foregrounds.py b/fg21sim/foregrounds.py
index a64f21c..d74dfaf 100644
--- a/fg21sim/foregrounds.py
+++ b/fg21sim/foregrounds.py
@@ -80,7 +80,7 @@ class Foregrounds:
# Initialize the products manifest
logger.info("Initialize the products manifest ...")
manifestfile = self.configs.get_path("output/manifest")
- self.products = Products(manifestfile)
+ self.products = Products(manifestfile, load=False)
# Initialize enabled components
self.components = OrderedDict()
for comp in self.components_id:
diff --git a/fg21sim/products.py b/fg21sim/products.py
index e355054..5f8d2d9 100644
--- a/fg21sim/products.py
+++ b/fg21sim/products.py
@@ -24,6 +24,13 @@ class Products:
"""
Manage and manipulate the simulation products.
+ Parameters
+ ----------
+ manifestfile : str, optional
+ The absolute path to the manifest file for loading.
+ load : bool, optional
+ Load the specified manifest file if ``True``.
+
Attributes
----------
manifest : dict
@@ -61,14 +68,11 @@ class Products:
}
``
"""
- def __init__(self, manifestfile=None):
+ def __init__(self, manifestfile=None, load=True):
self.manifest = OrderedDict()
self.manifestfile = manifestfile
- if manifestfile is not None:
- try:
- self.load(manifestfile)
- except FileNotFoundError:
- pass
+ if (manifestfile is not None) and load:
+ self.load(manifestfile)
@property
def frequencies(self):