Skip to content
Snippets Groups Projects
list_modules.py 1.81 KiB
Newer Older
#!/usr/bin/env python3
"""Create the file odoo_modules_list from setup.cfg
"""
# vim: set shiftwidth=4 softtabstop=4:
# template version 2.7

import argparse
import configparser
import logging
import os
import sys

from .logging_utils import add_verbosity_to_parser, logging_from_verbose
MODULES_LIST_FILE = 'odoo_modules_list'

_logger = logging.getLogger(__name__)

__version__ = '1.0.1'
__date__ = '2020-02-26'
__updated__ = '2020-02-26'


def main(argv=None):  # IGNORE:C0111
    """Parse arguments and launch conversion
    """
    if argv is None:
        argv = sys.argv
    else:
        sys.argv.extend(argv)

    program_version = __version__
    program_build_date = str(__updated__)
    program_version_message = '%%(prog)s %s (%s)' % (
        program_version, program_build_date)
    program_shortdesc = __doc__.split("\n")[1]
    program_license = '''%s

  Created by Hugo Monnerie on %s.
  Copyright 2020 XCG Consulting. All rights reserved.

  Licensed under the MIT License

  Distributed on an "AS IS" basis without warranties
  or conditions of any kind, either express or implied.

USAGE
''' % (
        program_shortdesc,
        str(__date__),
    )
    # Argument parsing
    parser = argparse.ArgumentParser(
        description=program_license,
        formatter_class=argparse.RawDescriptionHelpFormatter)
    parser.add_argument(
        '-V', '--version', action='version',
        version=program_version_message)
    add_verbosity_to_parser(parser)

    nmspc = parser.parse_args()
    logging_from_verbose(nmspc)
    list_modules()

def list_modules(filename: str = MODULES_LIST_FILE):
    c = configparser.ConfigParser()
    c.read(os.path.join(os.getcwd(), 'setup.cfg'))
    with open(filename, 'w') as f:
        f.write(','.join(c.get('odoo_scripts', 'module_list').split()))


if __name__ == '__main__':
    main()