Changeset View
Changeset View
Standalone View
Standalone View
swh/lister/cli.py
# Copyright (C) 2018 The Software Heritage developers | # Copyright (C) 2018 The Software Heritage developers | ||||
# See the AUTHORS file at the top-level directory of this distribution | # See the AUTHORS file at the top-level directory of this distribution | ||||
# License: GNU General Public License version 3, or any later version | # License: GNU General Public License version 3, or any later version | ||||
# See top-level LICENSE file for more information | # See top-level LICENSE file for more information | ||||
import logging | import logging | ||||
import click | import click | ||||
logger = logging.getLogger(__name__) | logger = logging.getLogger(__name__) | ||||
SUPPORTED_LISTERS = ['github', 'gitlab', 'bitbucket', 'debian', 'pypi', 'npm'] | SUPPORTED_LISTERS = ['github', 'gitlab', 'bitbucket', 'debian', 'pypi', | ||||
'npm', 'phabricator'] | |||||
anlambert: you need to add `'phabricator'` to that list | |||||
@click.command() | @click.command() | ||||
@click.option( | @click.option( | ||||
'--db-url', '-d', default='postgres:///lister-gitlab.com', | '--db-url', '-d', default='postgres:///lister-gitlab.com', | ||||
help='SQLAlchemy DB URL; see ' | help='SQLAlchemy DB URL; see ' | ||||
'<http://docs.sqlalchemy.org/en/latest/core/engines.html#database-urls>') # noqa | '<http://docs.sqlalchemy.org/en/latest/core/engines.html#database-urls>') # noqa | ||||
@click.argument('listers', required=1, nargs=-1, | @click.argument('listers', required=1, nargs=-1, | ||||
▲ Show 20 Lines • Show All 70 Lines • ▼ Show 20 Lines | for lister in listers: | ||||
from .npm.models import IndexingModelBase as ModelBase | from .npm.models import IndexingModelBase as ModelBase | ||||
from .npm.models import NpmVisitModel | from .npm.models import NpmVisitModel | ||||
from .npm.lister import NpmLister | from .npm.lister import NpmLister | ||||
_lister = NpmLister(override_config=override_conf) | _lister = NpmLister(override_config=override_conf) | ||||
if drop_tables: | if drop_tables: | ||||
NpmVisitModel.metadata.drop_all(_lister.db_engine) | NpmVisitModel.metadata.drop_all(_lister.db_engine) | ||||
NpmVisitModel.metadata.create_all(_lister.db_engine) | NpmVisitModel.metadata.create_all(_lister.db_engine) | ||||
elif lister == 'phabricator': | |||||
from .phabricator.models import IndexingModelBase as ModelBase | |||||
from .phabricator.lister import PhabricatorLister | |||||
_lister = PhabricatorLister( | |||||
forge_url='https://forge.softwareheritage.org', | |||||
api_token='', | |||||
override_config=override_conf) | |||||
else: | else: | ||||
raise ValueError( | raise ValueError( | ||||
'Invalid lister %s: only supported listers are %s' % | 'Invalid lister %s: only supported listers are %s' % | ||||
(lister, SUPPORTED_LISTERS)) | (lister, SUPPORTED_LISTERS)) | ||||
if drop_tables: | if drop_tables: | ||||
logger.info('Dropping tables for %s', lister) | logger.info('Dropping tables for %s', lister) | ||||
ModelBase.metadata.drop_all(_lister.db_engine) | ModelBase.metadata.drop_all(_lister.db_engine) | ||||
Show All 15 Lines |
you need to add 'phabricator' to that list