bitops icon indicating copy to clipboard operation
bitops copied to clipboard

Refactor deploy_plugins() in deploy_plugins.py

Open arm4b opened this issue 3 years ago • 0 comments

This is an unfinished refactoring sub-task coming from the Add Pylint as a python static code analyzer #298.

The deploy_plugins() function in deploy_plugins.py is failing pylint check on:

scripts/plugins/deploy_plugins.py:24:0: R0914: Too many local variables (36/15) (too-many-locals) scripts/plugins/deploy_plugins.py:24:0: R0912: Too many branches (19/12) (too-many-branches) scripts/plugins/deploy_plugins.py:24:0: R0915: Too many statements (104/50) (too-many-statements)

The function has more than 250+ lines and pylint with multiple warnings is a great indicator that it needs to be restructured and divided into smaller logical pieces. For instance:

  • Extract it into a new Plugin class perhaps with another layer PluginDeployer (note: PluginInstaller #329 ) with multiple methods, so the interface would be Plugin.deploy() that we can call while iterating over each plugin in the sequence.
  • Then another class PluginConfig would handle plugin config parsing and processing.

The check is silenced for now, don't forget to unsilence it when the refactoring is done.

arm4b avatar Oct 20 '22 17:10 arm4b