lister/gitlab: Allow to define the per page elements to read

This commit is contained in:
Antoine R. Dumont (@ardumont) 2018-07-20 13:41:25 +02:00
parent ff3afe391c
commit 364786a2da
No known key found for this signature in database
GPG key ID: 52E2E9840D10C3B8
3 changed files with 8 additions and 5 deletions

View file

@ -112,9 +112,9 @@ Note: This expects storage (5002) and scheduler (5008) services to run locally
[GCC 8.1.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from swh.lister.gitlab.tasks import RangeGitLabLister; RangeGitLabLister().run_task(1, 2,
{'instance': 'debian', 'api_baseurl': 'https://salsa.debian.org/api/v4', 'sort': 'asc'})
{'instance': 'debian', 'api_baseurl': 'https://salsa.debian.org/api/v4', 'sort': 'asc', 'per_page': 20})
>>> from swh.lister.gitlab.tasks import FullGitLabRelister; FullGitLabRelister().run_task(
{'instance':'0xacab', 'api_baseurl':'https://0xacab.org/api/v4', 'sort': 'asc'})
{'instance':'0xacab', 'api_baseurl':'https://0xacab.org/api/v4', 'sort': 'asc', 'per_page': 20})
>>> from swh.lister.gitlab.tasks import IncrementalGitLabLister; IncrementalGitLabLister().run_task(
{'instance': 'freedesktop.org', 'api_baseurl': 'https://gitlab.freedesktop.org/api/v4',
'sort': 'asc'})
'sort': 'asc', 'per_page': 20})

View file

@ -16,11 +16,14 @@ class GitLabLister(PageByPageHttpLister):
LISTER_NAME = 'gitlab'
def __init__(self, api_baseurl=None, instance=None,
override_config=None, sort='asc'):
override_config=None, sort='asc', per_page=20):
super().__init__(api_baseurl=api_baseurl,
override_config=override_config)
self.instance = instance
self.PATH_TEMPLATE = '%s&sort=%s' % (self.PATH_TEMPLATE, sort)
if per_page != 20:
self.PATH_TEMPLATE = '%s&per_page=%s' % (
self.PATH_TEMPLATE, per_page)
@property
def ADDITIONAL_CONFIG(self):

View file

@ -13,7 +13,7 @@ from .lister import GitLabLister
class GitLabListerTask(ListerTaskBase):
def new_lister(self, *, api_baseurl='https://gitlab.com/api/v4',
instance='gitlab', sort='asc'):
instance='gitlab', sort='asc', per_page=20):
return GitLabLister(
api_baseurl=api_baseurl, instance=instance, sort=sort)