summaryrefslogtreecommitdiff
path: root/gr-utils/python/modtool
diff options
context:
space:
mode:
authorMarcus Müller <mmueller@gnuradio.org>2019-04-21 16:19:21 +0200
committerMarcus Müller <mmueller@gnuradio.org>2019-04-21 17:48:55 +0200
commitee1bef43e92a3d517a3310848c9eebaf18dfa329 (patch)
tree31b00aa57e91ae635357adcadbd7494d30685e0e /gr-utils/python/modtool
parentcbe60a36717f5d26b5eee6cc87ae4394cebbf427 (diff)
modtool core: Don't import CLI functionality unless CLI is used
This allows usage of scripted modtool on systems without click installed. Only with this, headless unit testing can be done without installing click.
Diffstat (limited to 'gr-utils/python/modtool')
-rw-r--r--gr-utils/python/modtool/core/base.py2
-rw-r--r--gr-utils/python/modtool/core/disable.py3
-rw-r--r--gr-utils/python/modtool/core/rm.py3
3 files changed, 5 insertions, 3 deletions
diff --git a/gr-utils/python/modtool/core/base.py b/gr-utils/python/modtool/core/base.py
index 5d133892e6..f47fdd5ce6 100644
--- a/gr-utils/python/modtool/core/base.py
+++ b/gr-utils/python/modtool/core/base.py
@@ -33,7 +33,6 @@ from types import SimpleNamespace
from gnuradio import gr
from ..tools import get_modname, SCMRepoFactory
-from ..cli import setup_cli_logger
logger = logging.getLogger('gnuradio.modtool')
@@ -90,6 +89,7 @@ class ModTool(object):
self.info['yes'] = True
else:
self.info['yes'] = kwargs.get('yes', False)
+ from ..cli import setup_cli_logger
setup_cli_logger(logger)
if not type(self).__name__ in ['ModToolInfo', 'ModToolNewModule']:
diff --git a/gr-utils/python/modtool/core/disable.py b/gr-utils/python/modtool/core/disable.py
index ad1f78ef91..d9b3188c67 100644
--- a/gr-utils/python/modtool/core/disable.py
+++ b/gr-utils/python/modtool/core/disable.py
@@ -29,7 +29,6 @@ import re
import sys
import logging
-from ..cli import cli_input
from ..tools import CMakeFileEditor
from .base import ModTool, ModToolException
@@ -131,6 +130,8 @@ class ModToolDisable(ModTool):
# This portion will be covered by the CLI
if not self.cli:
self.validate()
+ else:
+ from ..cli import cli_input
# List of special rules: 0: subdir, 1: filename re match, 2: callback
special_treatments = (
('python', r'qa.+py$', _handle_py_qa),
diff --git a/gr-utils/python/modtool/core/rm.py b/gr-utils/python/modtool/core/rm.py
index 688aa59835..80011b15ba 100644
--- a/gr-utils/python/modtool/core/rm.py
+++ b/gr-utils/python/modtool/core/rm.py
@@ -31,7 +31,6 @@ import glob
import logging
from ..tools import remove_pattern_from_file, CMakeFileEditor
-from ..cli import cli_input
from .base import ModTool, ModToolException
logger = logging.getLogger(__name__)
@@ -57,6 +56,8 @@ class ModToolRemove(ModTool):
# This portion will be covered by the CLI
if not self.cli:
self.validate()
+ else:
+ from ..cli import cli_input
def _remove_cc_test_case(filename=None, ed=None):
""" Special function that removes the occurrences of a qa*.cc file
from the CMakeLists.txt. """