Changeset View
Changeset View
Standalone View
Standalone View
swh/lister/npm/lister.py
Show All 10 Lines | |||||
class NpmListerBase(IndexingHttpLister): | class NpmListerBase(IndexingHttpLister): | ||||
"""List packages available in the npm registry in a paginated way | """List packages available in the npm registry in a paginated way | ||||
""" | """ | ||||
MODEL = NpmModel | MODEL = NpmModel | ||||
LISTER_NAME = 'npm' | LISTER_NAME = 'npm' | ||||
instance = 'npm' | instance = 'npm' | ||||
def __init__(self, api_baseurl='https://replicate.npmjs.com', | def __init__(self, url='https://replicate.npmjs.com', | ||||
per_page=1000, override_config=None): | per_page=1000, override_config=None): | ||||
super().__init__(api_baseurl=api_baseurl, | super().__init__(url=url, override_config=override_config) | ||||
override_config=override_config) | |||||
self.per_page = per_page + 1 | self.per_page = per_page + 1 | ||||
self.PATH_TEMPLATE += '&limit=%s' % self.per_page | self.PATH_TEMPLATE += '&limit=%s' % self.per_page | ||||
@property | @property | ||||
def ADDITIONAL_CONFIG(self): | def ADDITIONAL_CONFIG(self): | ||||
"""(Override) Add extra configuration | """(Override) Add extra configuration | ||||
""" | """ | ||||
Show All 40 Lines | class NpmListerBase(IndexingHttpLister): | ||||
def _compute_urls(self, repo_name): | def _compute_urls(self, repo_name): | ||||
"""Return a tuple (package_url, package_metadata_url) | """Return a tuple (package_url, package_metadata_url) | ||||
""" | """ | ||||
return ( | return ( | ||||
'https://www.npmjs.com/package/%s' % repo_name, | 'https://www.npmjs.com/package/%s' % repo_name, | ||||
# package metadata url needs to be escaped otherwise some requests | # package metadata url needs to be escaped otherwise some requests | ||||
# may fail (for instance when a package name contains '/') | # may fail (for instance when a package name contains '/') | ||||
'%s/%s' % (self.api_baseurl, quote(repo_name, safe='')) | '%s/%s' % (self.url, quote(repo_name, safe='')) | ||||
) | ) | ||||
def string_pattern_check(self, inner, lower, upper=None): | def string_pattern_check(self, inner, lower, upper=None): | ||||
""" (Override) Inhibit the effect of that method as packages indices | """ (Override) Inhibit the effect of that method as packages indices | ||||
correspond to package names and thus do not respect any kind | correspond to package names and thus do not respect any kind | ||||
of fixed length string pattern | of fixed length string pattern | ||||
""" | """ | ||||
pass | pass | ||||
▲ Show 20 Lines • Show All 70 Lines • Show Last 20 Lines |