phabricator: refactor PhabricatorLister's constructor
- use the 'standard' api_baseurl as init argument, - make it optional, with default to forge.softwareheritage.org, - use origin_url as id.
This commit is contained in:
parent
befe9a6d57
commit
87cec2f5c3
3 changed files with 10 additions and 11 deletions
|
@ -16,19 +16,16 @@ logger = logging.getLogger(__name__)
|
|||
|
||||
class PhabricatorLister(IndexingHttpLister):
|
||||
PATH_TEMPLATE = '?order=oldest&attachments[uris]=1&after=%s'
|
||||
DEFAULT_URL = 'https://forge.softwareheritage.org/api/diffusion.repository.search' # noqa
|
||||
MODEL = PhabricatorModel
|
||||
LISTER_NAME = 'phabricator'
|
||||
|
||||
def __init__(self, forge_url, instance=None, override_config=None):
|
||||
if forge_url.endswith("/"):
|
||||
forge_url = forge_url[:-1]
|
||||
self.forge_url = forge_url
|
||||
api_baseurl = '%s/api/diffusion.repository.search' % forge_url
|
||||
if not instance:
|
||||
instance = urllib.parse.urlparse(forge_url).hostname
|
||||
self.instance = instance
|
||||
def __init__(self, api_baseurl=None, instance=None, override_config=None):
|
||||
super().__init__(api_baseurl=api_baseurl,
|
||||
override_config=override_config)
|
||||
if not instance:
|
||||
instance = urllib.parse.urlparse(self.api_baseurl).hostname
|
||||
self.instance = instance
|
||||
|
||||
@property
|
||||
def default_min_bound(self):
|
||||
|
@ -72,7 +69,7 @@ class PhabricatorLister(IndexingHttpLister):
|
|||
if url is None:
|
||||
return None
|
||||
return {
|
||||
'uid': self.forge_url + str(repo['id']),
|
||||
'uid': url,
|
||||
'indexable': repo['id'],
|
||||
'name': repo['fields']['shortName'],
|
||||
'full_name': repo['fields']['name'],
|
||||
|
|
|
@ -34,7 +34,7 @@ class PhabricatorListerTester(HttpListerTester, unittest.TestCase):
|
|||
override_config = dict(credentials=credentials,
|
||||
**(override_config or {}))
|
||||
self.fl = self.Lister(
|
||||
forge_url='https://fakeurl', instance='fake',
|
||||
api_baseurl='https://fakeurl', instance='fake',
|
||||
override_config=override_config)
|
||||
self.fl.INITIAL_BACKOFF = 1
|
||||
|
||||
|
|
|
@ -60,7 +60,9 @@ def test_get_lister_override():
|
|||
|
||||
listers = {
|
||||
'gitlab': ('api_baseurl', 'https://gitlab.uni/api/v4/'),
|
||||
'phabricator': ('forge_url', 'https://somewhere.org'),
|
||||
'phabricator': (
|
||||
'api_baseurl',
|
||||
'https://somewhere.org/api/diffusion.repository.search'),
|
||||
}
|
||||
|
||||
# check the override ends up defined in the lister
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue