-
Martyn Gigg authored
This implementation is based on the implementation in MantidPlot. A C++-based executor has been added that can execute Python code with the option of installing a trace function to update a progress marker on a given editor window. The old implementation attempted to chunk up the script into the smallest executable blocks and mark each of these as when they were executed. There were 2 issues: - the chunking of the scripts was error prone as it actually requires a good knowledge of how Python internally handles indentation etc. It was fairly easy to break and future internal updates to Python would have required unknown changes. - the progress reporting resolution was far poorer than MantidPlot as the actual line being executed was not reported but inferred by what block was being executed giving a false sense of progress through a script.
Martyn Gigg authoredThis implementation is based on the implementation in MantidPlot. A C++-based executor has been added that can execute Python code with the option of installing a trace function to update a progress marker on a given editor window. The old implementation attempted to chunk up the script into the smallest executable blocks and mark each of these as when they were executed. There were 2 issues: - the chunking of the scripts was error prone as it actually requires a good knowledge of how Python internally handles indentation etc. It was fairly easy to break and future internal updates to Python would have required unknown changes. - the progress reporting resolution was far poorer than MantidPlot as the actual line being executed was not reported but inferred by what block was being executed giving a false sense of progress through a script.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.