summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOnderwaater <onderwaa@esrf.fr>2015-09-03 19:41:14 +0200
committerOnderwaater <onderwaa@esrf.fr>2015-09-03 19:41:14 +0200
commit2cd3bd35ceb7a8c89776b656532ed433bc0c55a0 (patch)
tree8f1c8fb8f7bf3f76e75e8006da8f2118d00e495d
parenta184e4625e76b2395ace22fc639a0b5fd6a7bcde (diff)
fix oar metadata handling
-rw-r--r--BINoculars/dispatcher.py4
-rw-r--r--BINoculars/main.py8
2 files changed, 7 insertions, 5 deletions
diff --git a/BINoculars/dispatcher.py b/BINoculars/dispatcher.py
index a19e5a5..bf94b09 100644
--- a/BINoculars/dispatcher.py
+++ b/BINoculars/dispatcher.py
@@ -20,7 +20,8 @@ class Destination(object):
if opts is not False:
self.opts = opts
- def set_config(self, conf):
+ def set_config(self, conf, meta):
+ self.meta = meta
self.config = conf
def set_tmp_filename(self, filename):
@@ -39,6 +40,7 @@ class Destination(object):
elif self.type == 'final':
fn = self.final_filename()
space.config = self.config
+ space.metadata += self.meta
space.tofile(fn)
def retrieve(self):
diff --git a/BINoculars/main.py b/BINoculars/main.py
index 75f5b7f..a1a4c9b 100644
--- a/BINoculars/main.py
+++ b/BINoculars/main.py
@@ -37,8 +37,8 @@ class Main(object):
spaceconf = self.config.copy()
metadataconfig = self.config.copy()
metadataconfig.add_section('command', {'command' : command})
- self.metadata = util.MetaData()
- self.metadata.add_dataset(metadataconfig)
+ metadata = util.MetaData()
+ metadata.add_dataset(metadataconfig)
#input from either the configfile or the configsectiongroup is valid
self.dispatcher = backend.get_dispatcher(config.dispatcher, self, default='local')
@@ -46,7 +46,8 @@ class Main(object):
self.input = backend.get_input(config.input)
self.dispatcher.config.destination.set_final_options(self.input.get_destination_options(command))
- self.dispatcher.config.destination.set_config(spaceconf)
+ if command:
+ self.dispatcher.config.destination.set_config(spaceconf, metadata)
self.run(command)
@classmethod
@@ -82,7 +83,6 @@ class Main(object):
elif isinstance(self.result, space.EmptySpace):
sys.stderr.write('error: output is an empty dataset\n')
else:
- self.result.metadata += self.metadata
self.dispatcher.config.destination.store(self.result)