Source code for wolframclient.cli.commands.refactor
# -*- coding: utf-8 -*-
from __future__ import absolute_import, print_function, unicode_literals
import sys
from wolframclient.cli.utils import SimpleCommand
from wolframclient.utils.importutils import module_path
[docs]class Command(SimpleCommand):
modules = ['wolframclient']
dependencies = (('autopep8', '1.4'), ('isort', '4.3.4'),
('yapf', '0.24.0'), ('autoflake', '1.2'))
def _module_args(self, *args):
yield __file__ # autopep main is dropping the first argument
for module in self.modules:
yield module_path(module)
for arg in args:
yield arg
[docs] def handle(self, **opts):
argv = sys.argv
from autoflake import main
sys.argv = tuple(
self._module_args('--in-place', '--remove-duplicate-keys',
'--expand-star-import',
'--remove-all-unused-imports', '--recursive'))
main()
from isort.main import main
sys.argv = list(
self._module_args(
'-rc', '--multi-line', '5', '-a',
"from __future__ import absolute_import, print_function, unicode_literals"
))
main()
import yapf
sys.argv = list(
self._module_args('--in-place', '--recursive', '--parallel'))
yapf.run_main()
sys.argv = argv