WIP: SEP19 - Refactor plugin system
I would like to start discussion on the refactoring of the Sardana plugin system. I have prepared some proposals in the form of SEP19. When reading it you will realize that there are several TODOs. I list them here so we can check them when agreed:
-
How to deal with widgets? Shouldn't these be entry points to Taurus? -
Evaluate use of importlib-metadata project - standard from Python 3.8. -
Check if it will be possible to use dots in magic command completion e.g. relmaclib sardana_bl04.macro.hotblower -
Prepare implementaion plan
I think when workign on this we should also clarify solutions for the following tickets related to the plugins:
Macro specific:
-
Unable to run macro: PyDs_PythonError UnknownMacro: Unknown macro macro1 (SF#401) #246 -
Neither a created macro nor a macro from the macro manager is instance of an imported macro class (SF#402) #247 -
Add verbosity to edmac macro (SF#479) #324 -
wrong argout of the ReloadMacro and ReloadMacroLib tango cmds (SF#119) sourceforge #76 (closed) -
ReloadMacro and ReloadMacroLib tango cmds are not verbose in case of errors (SF#118) #75 (closed) -
relmaclib does not work with macros importing modules from PythonPath (SF#465) #310 -
'NoneType' object has no attribute 'getType' on editing macro in a new location (SF#455) #300 (closed) -
MacroServer ReloadMacro failure (SF#444) #289 -
Problems with edmac on Windows (SF#505) #349 -
edmac raises an exception #520 -
Error reloading macros once they were overwritten #949 -
Warn when macros gets overriden #930
Controller specific:
-
Insert new controller Library in Pool when it is Running. (SF#80) #53 -
edctrl macro does not work (SF#472) #317 (closed) -
Pool should not log an ERROR if hkl is not installed #394 (closed) -
edctrl and edctrllib to use Git as a VCS #566 (closed) -
Order of loading controllers when one imports another -
Controller initial class is maintained even if the class got overridden #1459
General:
It is totally open for changes and comments. Thanks a lot in advance for looking into it!
Edited by Zbigniew Reszela