Synapse.py 953 B

123456789101112131415161718192021222324252627282930313233343536
  1. class Synapse(object):
  2. """
  3. This Class is representing a Synapse with its name, and a dict of Neurons and a dict of signals
  4. .. note:: must be defined in the brain.yml
  5. """
  6. def __init__(self, name=None, neurons=None, signals=None):
  7. self.name = name
  8. self.neurons = neurons
  9. self.signals = signals
  10. def serialize(self):
  11. """
  12. This method allows to serialize in a proper way this object
  13. :return: A dict of name, neurons, signals
  14. :rtype: Dict
  15. """
  16. return {
  17. 'name': self.name,
  18. 'neurons': [e.serialize() for e in self.neurons],
  19. 'signals': [e.serialize() for e in self.signals]
  20. }
  21. def __str__(self):
  22. return str(self.serialize())
  23. def __eq__(self, other):
  24. """
  25. This is used to compare 2 objects
  26. :param other:
  27. :return:
  28. """
  29. return self.__dict__ == other.__dict__