From 3e019d57fab57afe7aad373385f32a23bd178941 Mon Sep 17 00:00:00 2001 From: Nathanael Sensfelder Date: Mon, 17 Jul 2017 10:13:31 +0200 Subject: Initial commit. --- instr-scripts/waveform_manager.py | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 instr-scripts/waveform_manager.py (limited to 'instr-scripts/waveform_manager.py') 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 -- cgit v1.2.3-70-g09d2