Skip to content
This repository has been archived by the owner on Nov 3, 2021. It is now read-only.

Commit

Permalink
refactor: remove info on which macros reserved an object
Browse files Browse the repository at this point in the history
`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).
  • Loading branch information
reszelaz committed May 6, 2021
1 parent 74f3e1a commit 9595940
Showing 1 changed file with 0 additions and 22 deletions.
22 changes: 0 additions & 22 deletions src/sardana/macroserver/msmacromanager.py
Original file line number Diff line number Diff line change
Expand Up @@ -1068,11 +1068,6 @@ def __init__(self, door):
self._door = door
self._macro_counter = 0

# dict<PoolElement, set<Macro>>
# key PoolElement - reserved object
# value set<Macro> macros that reserved the object
self._reserved_objs = {}

# dict<Macro, seq<PoolElement>>
# key Macro - macro object
# value - sequence of reserverd objects by the macro
Expand Down Expand Up @@ -1551,11 +1546,6 @@ def run(self, params, asynch=True):
macro script
:return: (lxml.etree.Element) the xml representation of the running macro
"""
# dict<PoolElement, set<Macro>>
# key PoolElement - reserved object
# value set<Macro> macros that reserved the object
self._reserved_objs = {}

# dict<Macro, seq<PoolElement>>
# key Macro - macro object
# value - sequence of reserved objects by the macro
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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")

0 comments on commit 9595940

Please sign in to comment.