summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2017-07-17 10:13:31 +0200
committerNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2017-07-17 10:13:31 +0200
commit3e019d57fab57afe7aad373385f32a23bd178941 (patch)
treec11e3440e4f199c8da54e649f01f9598df87e46b /instr-scripts/waveform_manager.py
Initial commit.
Diffstat (limited to 'instr-scripts/waveform_manager.py')
-rw-r--r--instr-scripts/waveform_manager.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/instr-scripts/waveform_manager.py b/instr-scripts/waveform_manager.py
new file mode 100644
index 0000000..e73ca2b
--- /dev/null
+++ b/instr-scripts/waveform_manager.py
@@ -0,0 +1,34 @@
+class Waveform_Manager:
+ def __init__ (self, output_file, id_manager):
+ self.output = output_file
+ self.from_source = dict()
+ self.to_source = dict()
+ self.id_manager = id_manager
+
+ def generate_new_waveform (self, source_id):
+ result = self.id_manager.generate_new_pure_id()
+ self.from_source[source_id] = result
+ self.to_source[result] = source_id
+
+ self.output.write(
+ "(map_waveform "
+ + result
+ + " "
+ + source_id
+ + ")\n"
+ )
+
+ return result
+
+ def get_waveform_from_source (self, source_id):
+ result = self.from_source.get(source_id)
+
+ if (result == None):
+ return self.generate_new_waveform(source_id)
+ else:
+ return result
+
+ def get_source_of_waveform (self, wfm_id):
+ result = self.to_source.get(wfm_id)
+
+ return result