From a6a841a059eb1373633e4e47c6d74ed1662a55bf Mon Sep 17 00:00:00 2001 From: Henrik Enquist Date: Wed, 22 Sep 2021 13:21:45 +0000 Subject: [PATCH 1/2] Use internal methods in dev_state --- src/sardana/tango/macroserver/Door.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/sardana/tango/macroserver/Door.py b/src/sardana/tango/macroserver/Door.py index eec5e7005..87dd000f5 100644 --- a/src/sardana/tango/macroserver/Door.py +++ b/src/sardana/tango/macroserver/Door.py @@ -303,9 +303,9 @@ def dev_status(self): macro = self.getRunningMacro() mstack = '' while macro is not None: - mstate = macro.getMacroStatus()['state'] - mstack = '\n -[%s]\t%s' % (mstate, macro.getCommand()) + mstack - macro = macro.getParentMacro() + mstate = macro._getMacroStatus()['state'] + mstack = '\n -[%s]\t%s' % (mstate, macro._command) + mstack + macro = macro.parent_macro self._status += mstack return self._status From 0208281b077d809b309dfd1be3e8f1dbe53ee0c4 Mon Sep 17 00:00:00 2001 From: Henrik Enquist Date: Wed, 22 Sep 2021 13:27:56 +0000 Subject: [PATCH 2/2] Add safe alternative to getCommand --- src/sardana/macroserver/macro.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/sardana/macroserver/macro.py b/src/sardana/macroserver/macro.py index 5179c4a59..b170d5987 100644 --- a/src/sardana/macroserver/macro.py +++ b/src/sardana/macroserver/macro.py @@ -2238,6 +2238,12 @@ def parent_macro(self): internally by the *Executor*""" return self._parent_macro + @property + def _command(self): + """**Unofficial Macro API**. Alternative to getCommand that does not + throw StopException in case of a Stop.""" + return '%s %s' % (self._getName(), ' '.join([str(p) for p in self._in_pars])) + @property def description(self): """**Unofficial Macro API**. Alternative to :meth:`getDescription` that