Beispiel #1
0
def pip_install(*args):
    # # pip.create_main_parser()
    # pip.basecommand.Command.__init__
    args = args[:]
    parser_kw = {
        'usage': install_cmd.usage,
        'prog': '%s %s' % (get_prog(), install_cmd.name),
        'formatter': None,  # UpdatingDefaultsHelpFormatter(),
        'add_help_option': False,
        'name': install_cmd.name,
        'description': install_cmd.__doc__,
        'isolated': False,
    }
    parser = ConfigOptionParser(**parser_kw)
    options, parsed_args = parser.parse_args(args=args)
    try:
        status = install_cmd.run(options, parsed_args)
        if isinstance(status, int):
            logger.debug(
                "Returned status code: {status}".format(status=status))
            return status == 0
    except (PipError, KeyboardInterrupt) as exc:
        logger.critical(str(exc))
        logger.debug('Exception information:', exc_info=True)
        return False
    except:
        logger.critical('Exception:', exc_info=True)
        return False
    return True
Beispiel #2
0
def create_main_parser():
    parser_kw = {
        'usage': '\n%prog <command> [options]',
        'add_help_option': False,
        'formatter': UpdatingDefaultsHelpFormatter(),
        'name': 'global',
        'prog': get_prog(),
    }

    parser = ConfigOptionParser(**parser_kw)
    parser.disable_interspersed_args()

    pip_pkg_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    parser.version = 'pip %s from %s (python %s)' % (__version__, pip_pkg_dir,
                                                     sys.version[:3])

    # add the general options
    gen_opts = cmdoptions.make_option_group(cmdoptions.general_group, parser)
    parser.add_option_group(gen_opts)

    parser.main = True  # so the help formatter knows

    # create command listing for description
    command_summaries = get_summaries()
    description = [''] + ['%-27s %s' % (i, j) for i, j in command_summaries]
    parser.description = '\n'.join(description)

    return parser
Beispiel #3
0
def pip_install(package_name):
    parser_kw = {
        'usage': install_cmd.usage,
        'prog': '%s %s' % (get_prog(), install_cmd.name),
        'formatter': None,
        'add_help_option': False,
        'name': install_cmd.name,
        'description': install_cmd.__doc__,
        'isolated': False,
    }

    parser = ConfigOptionParser(**parser_kw)
    options, args = parser.parse_args(["install", package_name])
    try:
        status = install_cmd.run(options, args)
        if isinstance(status, int):
            logger.debug("Returned status code: {status}".format(status=status))
            return status == 0
    except (PipError, KeyboardInterrupt) as exc:
        logger.critical(str(exc))
        logger.debug('Exception information:', exc_info=True)
        return False
    except:
        logger.critical('Exception:', exc_info=True)
        return False
    return True
    def _get_pip_index_url():
        pip_config_parser = ConfigOptionParser(name='daf_fruit_dist')
        try:
            return dict(
                pip_config_parser.get_config_section('global'))['index-url']

        except KeyError:
            raise KeyError(
                'The "index-url" option was not specified under the [global] '
                'section within any of the following files: {}'.format(
                    pip_config_parser.get_config_files()))
Beispiel #5
0
 def __init__(self):
     assert self.name
     self.parser = ConfigOptionParser(
         usage=self.usage,
         prog='%s %s' % (sys.argv[0], self.name),
         version=parser.version,
         formatter=UpdatingDefaultsHelpFormatter(),
         name=self.name)
     for option in parser.option_list:
         if not option.dest or option.dest == 'help':
             # -h, --version, etc
             continue
         self.parser.add_option(option)
     command_dict[self.name] = self
Beispiel #6
0
    def __init__(self):
        parser_kw = {
            'usage': self.usage,
            'prog': '%s %s' % (get_prog(), self.name),
            'formatter': UpdatingDefaultsHelpFormatter(),
            'add_help_option': False,
            'name': self.name,
            'description': self.__doc__,
        }

        self.parser = ConfigOptionParser(**parser_kw)

        # Commands should add options to this option group
        optgroup_name = '%s Options' % self.name.capitalize()
        self.cmd_opts = optparse.OptionGroup(self.parser, optgroup_name)

        # Add the general options
        gen_opts = cmdoptions.make_option_group(cmdoptions.general_group,
                                                self.parser)
        self.parser.add_option_group(gen_opts)
Beispiel #7
0
    def __init__(self, main_parser):
        parser_kw = {
            'usage': self.usage,
            'prog': '%s %s' % (get_prog(), self.name),
            'formatter': UpdatingDefaultsHelpFormatter(),
            'add_help_option': False,
            'name': self.name,
            'description': self.__doc__,
        }
        self.main_parser = main_parser
        self.parser = ConfigOptionParser(**parser_kw)

        # Commands should add options to this option group
        optgroup_name = '%s Options' % self.name.capitalize()
        self.cmd_opts = optparse.OptionGroup(self.parser, optgroup_name)

        # Re-add all options and option groups.
        for group in main_parser.option_groups:
            self._copy_option_group(self.parser, group)

        # Copies all general options from the main parser.
        self._copy_options(self.parser, main_parser.option_list)