namespace.py 587 B

123456789101112131415161718192021222324
  1. from dataclasses import *
  2. from typing import *
  3. @dataclass
  4. class Namespace:
  5. def __init__(self):
  6. self.events: Dict[str, int] = {}
  7. self.inports: List[str] = []
  8. self.outports: List[str] = []
  9. def assign_event_id(self, name: str) -> int:
  10. return self.events.setdefault(name, len(self.events))
  11. def get_event_id(self, name: str) -> int:
  12. return self.events[name]
  13. def add_inport(self, port: str):
  14. if port not in self.inports:
  15. self.inports.append(port)
  16. def add_outport(self, port: str):
  17. if port not in self.outports:
  18. self.outports.append(port)