summaryrefslogtreecommitdiff
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
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.
-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. """