From 4824c83229bf5b02ca98041c708574b5e5260075 Mon Sep 17 00:00:00 2001 From: Katherine Mantel Date: Fri, 26 Jan 2024 06:24:55 +0000 Subject: [PATCH] Revert "Revert "Parameter: make port a weakref"" This reverts commit cf2fb8ea0b5ea16bea1af56f300105d0aee1a256. --- psyneulink/core/globals/parameters.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/psyneulink/core/globals/parameters.py b/psyneulink/core/globals/parameters.py index d9045cfb3c0..87911f5b256 100644 --- a/psyneulink/core/globals/parameters.py +++ b/psyneulink/core/globals/parameters.py @@ -1057,7 +1057,6 @@ def __init__( reference=reference, dependencies=dependencies, initializer=initializer, - port=port, mdf_name=mdf_name, specify_none=specify_none, _inherited=_inherited, @@ -1077,6 +1076,8 @@ def __init__( self.__inherited = False self._inherited = _inherited + self.port = port + def __repr__(self): return '{0} :\n{1}'.format(super(types.SimpleNamespace, self).__repr__(), str(self)) @@ -1814,6 +1815,20 @@ def _set_spec(self, value): value = self._parse(value) super().__setattr__('spec', value) + @property + def port(self): + try: + return self._port() + except TypeError: + return self._port + + @port.setter + def port(self, p): + if p is None: + self._port = None + else: + self._port = weakref.ref(p) + class _ParameterAliasMeta(type): # these will not be taken from the source