diff --git a/conf2reST.py b/odoo_scripts/conf2reST.py similarity index 91% rename from conf2reST.py rename to odoo_scripts/conf2reST.py index f9ef146c2ba446e280ae793511c227b65f974734_Y29uZjJyZVNULnB5..9d4ed62e0c336262351ad34c947cd1a08b8ac417_b2Rvb19zY3JpcHRzL2NvbmYycmVTVC5weQ== 100755 --- a/conf2reST.py +++ b/odoo_scripts/conf2reST.py @@ -1,7 +1,5 @@ #!/usr/bin/env python3 """Generate a reST file from configuration files. -This script can be used with python 2 or 3, and uses the six library for -compatibility. """ import argparse import configparser @@ -12,6 +10,8 @@ import yaml +from .logging import add_verbosity_to_parser, logging_from_verbose + _logger = logging.getLogger(__name__) __version__ = '1.0.1' @@ -54,9 +54,7 @@ parser.add_argument( '-V', '--version', action='version', version=program_version_message) - parser.add_argument( - '-v', '--verbose', dest='verbose', action='count', - help="set verbosity level [default: %(default)s]") + add_verbosity_to_parser(parser) parser.add_argument( '-d', '--directory', @@ -70,14 +68,7 @@ ) nmspc = parser.parse_args() - verbose = nmspc.verbose - if not verbose: - logging.basicConfig(level=logging.WARN) - if verbose == 1: - logging.basicConfig(level=logging.INFO) - if verbose and verbose > 1: - logging.basicConfig(level=logging.DEBUG) - basedir = os.path.dirname(sys.argv[0]) - conf2rst(basedir, nmspc.directory, nmspc.output) + logging_from_verbose(nmspc) + conf2rst(nmspc.directory, nmspc.output) @@ -82,4 +73,4 @@ -def conf2rst(basedir, directory, output=None): +def conf2rst(directory: str, output=None): """ @@ -85,5 +76,4 @@ """ - :param basedir: directory with the odoo_versions.csv file :param directory: destination directory :param output: file to write to, else prints in stdout """ @@ -96,5 +86,5 @@ os.path.dirname(path) for path in parser.get('odoo_scripts', 'modules').split()) - # pip freeze + # pip3 freeze reqs = dict() @@ -100,12 +90,5 @@ reqs = dict() - try: - pip_freeze = subprocess.check_output(['pip', 'freeze']) - except OSError as e: - if e.errno == os.errno.ENOENT: - pip_freeze = subprocess.check_output(['pip3', 'freeze']) - else: - # Something else went wrong - raise + pip_freeze = subprocess.check_output(['pip3', 'freeze']) for element in pip_freeze.split(): lib_and_version = element.decode('utf-8').split('==') if len(lib_and_version) == 1: # No explicit version (no ==). diff --git a/odoo_scripts/logging.py b/odoo_scripts/logging.py index f9ef146c2ba446e280ae793511c227b65f974734_b2Rvb19zY3JpcHRzL2xvZ2dpbmcucHk=..9d4ed62e0c336262351ad34c947cd1a08b8ac417_b2Rvb19zY3JpcHRzL2xvZ2dpbmcucHk= 100644 --- a/odoo_scripts/logging.py +++ b/odoo_scripts/logging.py @@ -2,6 +2,12 @@ import logging +def add_verbosity_to_parser(parser: argparse.ArgumentParser): + parser.add_argument( + '-v', '--verbose', dest='verbose', action='count', + help="set verbosity level [default: %(default)s]") + + def logging_from_verbose(namespace: argparse.Namespace): verbose = namespace.verbose if not verbose: diff --git a/odoo_scripts/odoo.py b/odoo_scripts/odoo.py index f9ef146c2ba446e280ae793511c227b65f974734_b2Rvb19zY3JpcHRzL29kb28ucHk=..9d4ed62e0c336262351ad34c947cd1a08b8ac417_b2Rvb19zY3JpcHRzL29kb28ucHk= 100644 --- a/odoo_scripts/odoo.py +++ b/odoo_scripts/odoo.py @@ -3,6 +3,8 @@ import odoorpc +from .logging import add_verbosity_to_parser + _logger = logging.getLogger(__name__) @@ -46,9 +48,7 @@ parser.add_argument( '-V', '--version', action='version', version=version) - parser.add_argument( - '-v', '--verbose', dest='verbose', action='count', - help="set verbosity level [default: %(default)s]") + add_verbosity_to_parser(parser) parser.add_argument( '--login', help="Odoo user [default: %(default)s]", diff --git a/setup.py b/setup.py index f9ef146c2ba446e280ae793511c227b65f974734_c2V0dXAucHk=..9d4ed62e0c336262351ad34c947cd1a08b8ac417_c2V0dXAucHk= 100644 --- a/setup.py +++ b/setup.py @@ -23,6 +23,7 @@ "docker_dev_start=odoo_scripts.docker_dev_start:main", "do_tests=odoo_scripts.do_tests:main", "docker_build=odoo_scripts.docker_build:main", + "conf2reST=odoo_scripts.conf2reST:main", # TODO add all the other python scripts ] },