From 9595940c775d14eb7ec74a3c78435c7e90a7a459 Mon Sep 17 00:00:00 2001 From: zreszela Date: Thu, 6 May 2021 12:32:47 +0200 Subject: [PATCH] refactor: remove info on which macros reserved an object `MacroExecutor` maintains two data structures: - `_reserved_macro_objs` - which keeps list of reserved objects per macro - `_reserved_objs` - which keeps list of reserving macros per object While `_reserved_macro_objs` is used when stopping a macro, `_reserved_objs` is not used anywhere. Remove `_reserved_objs` data structure cause it stores objects as keys what this forces them to be hashable and we would like to implement equality check in the `Motion` class (one type of possibly reservable objects). --- src/sardana/macroserver/msmacromanager.py | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/src/sardana/macroserver/msmacromanager.py b/src/sardana/macroserver/msmacromanager.py index 43cc00d04c..8b00f2485c 100644 --- a/src/sardana/macroserver/msmacromanager.py +++ b/src/sardana/macroserver/msmacromanager.py @@ -1068,11 +1068,6 @@ def __init__(self, door): self._door = door self._macro_counter = 0 - # dict> - # key PoolElement - reserved object - # value set macros that reserved the object - self._reserved_objs = {} - # dict> # key Macro - macro object # value - sequence of reserverd objects by the macro @@ -1551,11 +1546,6 @@ def run(self, params, asynch=True): macro script :return: (lxml.etree.Element) the xml representation of the running macro """ - # dict> - # key PoolElement - reserved object - # value set macros that reserved the object - self._reserved_objs = {} - # dict> # key Macro - macro object # value - sequence of reserved objects by the macro @@ -1823,10 +1813,6 @@ def reserveObj(self, obj, macro_obj, priority=0): else: objs.append(obj) - # Fill _reserved_objs - macros = self._reserved_objs[obj] = self._reserved_objs.get(obj, set()) - macros.add(macro_obj) - # Tell the object that it is reserved by a new macro if hasattr(obj, 'reserve'): obj.reserve(macro_obj) @@ -1858,11 +1844,3 @@ def returnObj(self, obj, macro_obj): objs.remove(obj) if len(objs) == 0: del self._reserved_macro_objs[macro_obj] - - try: - macros = self._reserved_objs[obj] - macros.remove(macro_obj) - if not len(macros): - del self._reserved_objs[obj] - except KeyError: - self.debug("Unexpected KeyError trying to remove reserved object")