| summaryrefslogtreecommitdiff | 
diff options
| author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2017-07-17 10:13:31 +0200 | 
|---|---|---|
| committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2017-07-17 10:13:31 +0200 | 
| commit | 3e019d57fab57afe7aad373385f32a23bd178941 (patch) | |
| tree | c11e3440e4f199c8da54e649f01f9598df87e46b /instr-scripts/waveform_manager.py | |
Initial commit.
Diffstat (limited to 'instr-scripts/waveform_manager.py')
| -rw-r--r-- | instr-scripts/waveform_manager.py | 34 | 
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  | 


