Exemple #1
0
def main():
    exitcode = exit_codes.UTILITY_OK
    parser = argparse.ArgumentParser(
        "install|remove|check-installed|list-all|list-files|add-repo|"
        "remove-repo|upgrade|what-provides|install-what-provides arguments")
    parser.add_argument('--verbose',
                        dest="debug",
                        action='store_true',
                        help='include debug messages in console output')

    namespace, args = parser.parse_known_args()

    if namespace.debug:
        logging.basicConfig(level=logging.DEBUG, format='%(message)s')
    else:
        logging.basicConfig(level=logging.INFO, format='%(message)s')

    software_manager = SoftwareManager()
    if args:
        action = args[0]
        args = " ".join(args[1:])
    else:
        action = 'show-help'

    if action == 'install':
        if software_manager.install(args):
            log.info(MESSAGES[action]['success'], args)
        else:
            log.error(MESSAGES[action]['fail'], args)
            exitcode = exit_codes.UTILITY_FAIL

    elif action == 'remove':
        if software_manager.remove(args):
            log.info(MESSAGES[action]['success'], args)
        else:
            log.error(MESSAGES[action]['fail'], args)
            exitcode = exit_codes.UTILITY_FAIL

    elif action == 'check-installed':
        if software_manager.check_installed(args):
            log.info(MESSAGES[action]['success'], args)
        else:
            log.info(MESSAGES[action]['fail'], args)
            exitcode = exit_codes.UTILITY_FAIL

    elif action == 'list-all':
        for pkg in software_manager.list_all():
            log.info(pkg)

    elif action == 'list-files':
        for f in software_manager.list_files(args):
            log.info(f)

    elif action == 'add-repo':
        if software_manager.add_repo(args):
            log.info(MESSAGES[action]['success'], args)
        else:
            log.error(MESSAGES[action]['fail'], args)
            exitcode = exit_codes.UTILITY_FAIL

    elif action == 'remove-repo':
        if software_manager.remove_repo(args):
            log.info(MESSAGES[action]['success'], args)
        else:
            log.error(MESSAGES[action]['fail'], args)
            exitcode = exit_codes.UTILITY_FAIL

    elif action == 'upgrade':
        if software_manager.upgrade():
            log.info(MESSAGES[action])

    elif action == 'what-provides':
        provides = software_manager.provides(args)
        if provides is not None:
            log.info(MESSAGES[action], provides, args)

    elif action == 'install-what-provides':
        if software_manager.install_what_provides(args):
            log.info(MESSAGES[action], args)

    elif action == 'show-help':
        parser.print_help()

    return exitcode
Exemple #2
0
 def setUp(self):
     sm = SoftwareManager()
     self.pkgs = sm.list_all(software_components=False)
Exemple #3
0
def main():
    exitcode = exit_codes.UTILITY_OK
    parser = argparse.ArgumentParser(
        "install|remove|check-installed|list-all|list-files|add-repo|"
        "remove-repo|upgrade|what-provides|install-what-provides arguments")
    parser.add_argument(
        "--verbose",
        dest="debug",
        action="store_true",
        help="include debug messages in console output",
    )

    namespace, args = parser.parse_known_args()

    if namespace.debug:
        logging.basicConfig(level=logging.DEBUG, format="%(message)s")
    else:
        logging.basicConfig(level=logging.INFO, format="%(message)s")

    software_manager = SoftwareManager()
    if args:
        action = args[0]
        args = " ".join(args[1:])
    else:
        action = "show-help"

    if action == "install":
        if software_manager.install(args):
            log.info(MESSAGES[action]["success"], args)
        else:
            log.error(MESSAGES[action]["fail"], args)
            exitcode = exit_codes.UTILITY_FAIL

    elif action == "remove":
        if software_manager.remove(args):
            log.info(MESSAGES[action]["success"], args)
        else:
            log.error(MESSAGES[action]["fail"], args)
            exitcode = exit_codes.UTILITY_FAIL

    elif action == "check-installed":
        if software_manager.check_installed(args):
            log.info(MESSAGES[action]["success"], args)
        else:
            log.info(MESSAGES[action]["fail"], args)
            exitcode = exit_codes.UTILITY_FAIL

    elif action == "list-all":
        for pkg in software_manager.list_all():
            log.info(pkg)

    elif action == "list-files":
        for f in software_manager.list_files(args):
            log.info(f)

    elif action == "add-repo":
        if software_manager.add_repo(args):
            log.info(MESSAGES[action]["success"], args)
        else:
            log.error(MESSAGES[action]["fail"], args)
            exitcode = exit_codes.UTILITY_FAIL

    elif action == "remove-repo":
        if software_manager.remove_repo(args):
            log.info(MESSAGES[action]["success"], args)
        else:
            log.error(MESSAGES[action]["fail"], args)
            exitcode = exit_codes.UTILITY_FAIL

    elif action == "upgrade":
        if software_manager.upgrade():
            log.info(MESSAGES[action])

    elif action == "what-provides":
        provides = software_manager.provides(args)
        if provides is not None:
            log.info(MESSAGES[action], provides, args)

    elif action == "install-what-provides":
        if software_manager.install_what_provides(args):
            log.info(MESSAGES[action], args)

    elif action == "show-help":
        parser.print_help()

    return exitcode