Changeset View
Changeset View
Standalone View
Standalone View
swh/lister/bitbucket/lister.py
# Copyright (C) 2017-2018 the Software Heritage developers | # Copyright (C) 2017-2018 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 | ||||
from urllib import parse | from urllib import parse | ||||
import logging | |||||
import iso8601 | |||||
from swh.lister.bitbucket.models import BitBucketModel | from swh.lister.bitbucket.models import BitBucketModel | ||||
from swh.lister.core.indexing_lister import SWHIndexingHttpLister | from swh.lister.core.indexing_lister import SWHIndexingHttpLister | ||||
logger = logging.getLogger(__name__) | |||||
class BitBucketLister(SWHIndexingHttpLister): | class BitBucketLister(SWHIndexingHttpLister): | ||||
PATH_TEMPLATE = '/repositories?after=%s' | PATH_TEMPLATE = '/repositories?after=%s' | ||||
MODEL = BitBucketModel | MODEL = BitBucketModel | ||||
LISTER_NAME = 'bitbucket' | LISTER_NAME = 'bitbucket' | ||||
def get_model_from_repo(self, repo): | def get_model_from_repo(self, repo): | ||||
return { | return { | ||||
'uid': repo['uuid'], | 'uid': repo['uuid'], | ||||
Show All 13 Lines | def get_next_target_from_response(self, response): | ||||
else: | else: | ||||
return None | return None | ||||
def transport_response_simplified(self, response): | def transport_response_simplified(self, response): | ||||
repos = response.json()['values'] | repos = response.json()['values'] | ||||
return [self.get_model_from_repo(repo) for repo in repos] | return [self.get_model_from_repo(repo) for repo in repos] | ||||
def request_uri(self, identifier): | def request_uri(self, identifier): | ||||
if isinstance(identifier, list): | |||||
raise Exception(identifier) | |||||
ardumont: What is that error?
Also why not a ValueError? | |||||
douarddaAuthorUnsubmitted Done Inline ActionsOk, in fact this looks very much like a "debug" statement before the hunk below in swh/lister/core/indexing_lister.py douardda: Ok, in fact this looks very much like a "debug" statement before the hunk below in… | |||||
return super().request_uri(identifier or '1970-01-01') | return super().request_uri(identifier or '1970-01-01') | ||||
def is_within_bounds(self, inner, lower=None, upper=None): | |||||
# values are expected to be str dates | |||||
try: | |||||
inner = iso8601.parse_date(inner) | |||||
if lower: | |||||
lower = iso8601.parse_date(lower) | |||||
if upper: | |||||
upper = iso8601.parse_date(upper) | |||||
if lower is None and upper is None: | |||||
return True | |||||
elif lower is None: | |||||
ret = inner <= upper | |||||
elif upper is None: | |||||
ret = inner >= lower | |||||
else: | |||||
ret = lower <= inner <= upper | |||||
except Exception as e: | |||||
logger.error(str(e) + ': %s, %s, %s' % | |||||
(('inner=%s%s' % (type(inner), inner)), | |||||
('lower=%s%s' % (type(lower), lower)), | |||||
('upper=%s%s' % (type(upper), upper))) | |||||
) | |||||
raise | |||||
return ret |
What is that error?
Also why not a ValueError?