Changeset View
Changeset View
Standalone View
Standalone View
swh/storage/storage.py
Show First 20 Lines • Show All 1,482 Lines • ▼ Show 20 Lines | def origin_get(self, origins, db=None, cur=None): | ||||
assert len(results) == 1 | assert len(results) == 1 | ||||
if results[0]['url'] is not None: | if results[0]['url'] is not None: | ||||
return results[0] | return results[0] | ||||
else: | else: | ||||
return None | return None | ||||
else: | else: | ||||
return [None if res['url'] is None else res for res in results] | return [None if res['url'] is None else res for res in results] | ||||
@db_transaction_generator(statement_timeout=500) | |||||
def origin_get_by_sha1(self, sha1s, db=None, cur=None): | |||||
"""Return origins, identified by the sha1 of their URLs. | |||||
Args: | |||||
sha1s (list[bytes]): a list of sha1s | |||||
Yields: | |||||
dicts containing origin information as returned | |||||
by :meth:`swh.storage.storage.Storage.origin_get`, or None if an | |||||
origin matching the sha1 is not found. | |||||
""" | |||||
for line in db.origin_get_by_sha1(sha1s, cur): | |||||
if line[0] is not None: | |||||
yield dict(zip(db.origin_cols, line)) | |||||
else: | |||||
yield None | |||||
@db_transaction_generator() | @db_transaction_generator() | ||||
def origin_get_range(self, origin_from=1, origin_count=100, | def origin_get_range(self, origin_from=1, origin_count=100, | ||||
db=None, cur=None): | db=None, cur=None): | ||||
"""Retrieve ``origin_count`` origins whose ids are greater | """Retrieve ``origin_count`` origins whose ids are greater | ||||
or equal than ``origin_from``. | or equal than ``origin_from``. | ||||
Origins are sorted by id before retrieving them. | Origins are sorted by id before retrieving them. | ||||
▲ Show 20 Lines • Show All 328 Lines • Show Last 20 Lines |