diff options
author | Aaron LI <aaronly.me@outlook.com> | 2016-12-09 19:03:27 +0800 |
---|---|---|
committer | Aaron LI <aaronly.me@outlook.com> | 2016-12-09 19:05:46 +0800 |
commit | 2e01bf4145087159fbecc741a9e8a96dc0a2b9c3 (patch) | |
tree | 3873ec0a5df9954cdd15016214545055ff18ed18 | |
parent | 7038b8b6f14e9c50cd3ebb7c1e90cf9b12b57613 (diff) | |
download | fg21sim-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.
-rw-r--r-- | fg21sim/foregrounds.py | 2 | ||||
-rw-r--r-- | fg21sim/products.py | 16 |
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): |