Beispiel #1
0
    def parse_args(self):
        parser = ArgumentParser()
        parser.add_argument('base_path')
        parser.add_argument('-d',
                            '--debug',
                            action='store_true',
                            default=False)
        parser.add_argument('-p',
                            '--progress',
                            action='store_true',
                            default=False)

        parser.add_argument('-c', '--collection', action='append')
        parser.add_argument('-f', '--format', action='append')
        parser.add_argument('-s', '--source', action='append', required=True)

        # Discover installed plugins
        PluginManager.discover()

        # Add arguments from updater sources
        for _, source in PluginManager.list_ordered('database-updater'):
            for argument in source.__parameters__:
                if 'name' not in argument:
                    log.warn('Invalid source argument: %r', argument)
                    continue

                parser.add_argument(
                    '--%s-%s' % (source.__key__, argument['name']),
                    **argument.get('kwargs', {}))

        # Parse command line arguments
        return parser.parse_args()
Beispiel #2
0
    def __init__(self, sources, collections=None, formats=None):
        self.collections = collections

        # Discover installed plugins
        PluginManager.discover()

        # Retrieve formats
        self.formats = dict(
            self._load_plugins('format', formats or DEFAULT_FORMATS))

        # Retrieve sources
        self.sources = dict(
            self._load_plugins('database-updater', sources, construct=False))
    def __init__(self, sources, collections=None, formats=None):
        self.collections = collections

        # Discover installed plugins
        PluginManager.discover()

        # Retrieve formats
        self.formats = dict(self._load_plugins(
            'format', formats or DEFAULT_FORMATS
        ))

        # Retrieve sources
        self.sources = dict(self._load_plugins(
            'database-updater', sources,
            construct=False
        ))
    def parse_args(self):
        parser = ArgumentParser()
        parser.add_argument('base_path')
        parser.add_argument('-d', '--debug', action='store_true', default=False)
        parser.add_argument('-p', '--progress', action='store_true', default=False)

        parser.add_argument('-c', '--collection', action='append')
        parser.add_argument('-f', '--format', action='append')
        parser.add_argument('-s', '--source', action='append', required=True)

        # Discover installed plugins
        PluginManager.discover()

        # Add arguments from updater sources
        for _, source in PluginManager.list_ordered('database-updater'):
            for argument in source.__parameters__:
                if 'name' not in argument:
                    log.warn('Invalid source argument: %r', argument)
                    continue

                parser.add_argument('--%s-%s' % (source.__key__, argument['name']), **argument.get('kwargs', {}))

        # Parse command line arguments
        return parser.parse_args()