Changeset View
Changeset View
Standalone View
Standalone View
swh/lister/phabricator/lister.py
# Copyright (C) 2019 the Software Heritage developers | # Copyright (C) 2019 the Software Heritage developers | ||||
# 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 urllib.parse | |||||
from swh.lister.core.indexing_lister import SWHIndexingHttpLister | from swh.lister.core.indexing_lister import SWHIndexingHttpLister | ||||
from swh.lister.phabricator.models import PhabricatorModel | from swh.lister.phabricator.models import PhabricatorModel | ||||
from collections import defaultdict | from collections import defaultdict | ||||
class PhabricatorLister(SWHIndexingHttpLister): | class PhabricatorLister(SWHIndexingHttpLister): | ||||
PATH_TEMPLATE = '&order=oldest&attachments[uris]=1&after=%s' | PATH_TEMPLATE = '&order=oldest&attachments[uris]=1&after=%s' | ||||
MODEL = PhabricatorModel | MODEL = PhabricatorModel | ||||
LISTER_NAME = 'phabricator' | LISTER_NAME = 'phabricator' | ||||
def __init__(self, forge_url, api_token, override_config=None): | def __init__(self, forge_url, api_token, instance=None, | ||||
override_config=None): | |||||
if forge_url.endswith("/"): | if forge_url.endswith("/"): | ||||
forge_url = forge_url[:-1] | forge_url = forge_url[:-1] | ||||
self.forge_url = forge_url | self.forge_url = forge_url | ||||
api_endpoint = ('api/diffusion.repository.' | api_endpoint = ('api/diffusion.repository.' | ||||
'search?api.token=%s') % api_token | 'search?api.token=%s') % api_token | ||||
api_baseurl = '%s/%s' % (forge_url, api_endpoint) | api_baseurl = '%s/%s' % (forge_url, api_endpoint) | ||||
if not instance: | |||||
instance = urllib.parse.urlparse(forge_url).hostname | |||||
self.instance = instance | |||||
super().__init__(api_baseurl=api_baseurl, | super().__init__(api_baseurl=api_baseurl, | ||||
override_config=override_config) | override_config=override_config) | ||||
def request_headers(self): | def request_headers(self): | ||||
""" | """ | ||||
(Override) Set requests headers to send when querying the | (Override) Set requests headers to send when querying the | ||||
Phabricator API | Phabricator API | ||||
""" | """ | ||||
▲ Show 20 Lines • Show All 107 Lines • Show Last 20 Lines |