def __new__(cls, value, variable=None, keywords=None):
"""Return an already existing :class:`Node` instance or, if such
an instance does not exist yet, return a newly created one.
"""
name = str(value)
if name not in cls._registry:
self = object.__new__(Node)
self._check_name(name)
self._name = name
if variable is None:
self._variable = self._predefinedvariable
else:
self._variable = variable
self._keywords = Keywords()
self._keywords.device = self
self.entries = connectiontools.Connections(self)
self.exits = connectiontools.Connections(self)
self.sequences = sequencetools.NodeSequences(self)
self.deploy_mode = 'newsim'
self._blackhole = None
self._handlers = weakref.WeakSet()
cls._registry[name] = self
cls._selection[name] = cls._registry[name]
return cls._registry[name]
评论列表
文章目录