diff --git a/holoviews/streams.py b/holoviews/streams.py index 916abbfbf8..99ec01e8e0 100644 --- a/holoviews/streams.py +++ b/holoviews/streams.py @@ -717,7 +717,7 @@ def _on_trigger(self): @property def hashkey(self): hashkey = {(p.owner, p.name): getattr(p.owner, p.name) for p in self.parameters} - hashkey = {self._rename.get((o, n), n): v for (o, n), v in hashkey.items() + hashkey = {' '.join([o.name, self._rename.get((o, n), n)]): v for (o, n), v in hashkey.items() if self._rename.get((o, n), True) is not None} hashkey['_memoize_key'] = self._memoize_counter return hashkey diff --git a/holoviews/tests/teststreams.py b/holoviews/tests/teststreams.py index 957bf85b55..ceabe77176 100644 --- a/holoviews/tests/teststreams.py +++ b/holoviews/tests/teststreams.py @@ -296,7 +296,7 @@ def test_param_stream_action(self): def subscriber(**kwargs): values.append(kwargs) self.assertEqual(set(stream.hashkey), - {'action', '_memoize_key'}) + {'%s action' % inner.name, '_memoize_key'}) stream.add_subscriber(subscriber) inner.action(inner) @@ -310,8 +310,9 @@ def test_param_stream_memoization(self): values = [] def subscriber(**kwargs): values.append(kwargs) - self.assertEqual(set(stream.hashkey), - {'action', 'x', '_memoize_key'}) + self.assertEqual( + set(stream.hashkey), + {'%s action' % inner.name, '%s x' % inner.name, '_memoize_key'}) stream.add_subscriber(subscriber) inner.action(inner) @@ -484,7 +485,7 @@ def test_dynamicmap_param_method_action_param(self): def subscriber(**kwargs): values.append(kwargs) self.assertEqual(set(stream.hashkey), - {'action', '_memoize_key'}) + {'%s action' % inner.name, '_memoize_key'}) stream.add_subscriber(subscriber) inner.action(inner) @@ -502,8 +503,9 @@ def test_dynamicmap_param_action_number_method_memoizes(self): values = [] def subscriber(**kwargs): values.append(kwargs) - self.assertEqual(set(stream.hashkey), - {'action', 'x', '_memoize_key'}) + self.assertEqual( + set(stream.hashkey), + {'%s action' % inner.name, '%s x' % inner.name, '_memoize_key'}) stream.add_subscriber(subscriber) stream.add_subscriber(lambda **kwargs: dmap[()]) diff --git a/holoviews/util/__init__.py b/holoviews/util/__init__.py index d5c1f8d0b9..e254436a2c 100644 --- a/holoviews/util/__init__.py +++ b/holoviews/util/__init__.py @@ -906,7 +906,7 @@ def _get_streams(self, map_obj, watch=True): streams.append(value) elif isinstance(value, FunctionType) and hasattr(value, '_dinfo'): dependencies = list(value._dinfo.get('dependencies', [])) - dependencies += list(value._dinfo.get('kwargs', {}).values()) + dependencies += list(value._dinfo.get('kw', {}).values()) params = [d for d in dependencies if isinstance(d, param.Parameter) and isinstance(d.owner, param.Parameterized)] streams.append(Params(parameters=params, watch_only=True))