Changeset View
Changeset View
Standalone View
Standalone View
swh/storage/cassandra/storage.py
Show First 20 Lines • Show All 851 Lines • ▼ Show 20 Lines | ) -> PagedResult[OriginVisit]: | ||||
extra_limit = limit + 1 | extra_limit = limit + 1 | ||||
rows = self._cql_runner.origin_visit_get(origin, visit_from, extra_limit, order) | rows = self._cql_runner.origin_visit_get(origin, visit_from, extra_limit, order) | ||||
for row in rows: | for row in rows: | ||||
visits.append(converters.row_to_visit(row)) | visits.append(converters.row_to_visit(row)) | ||||
assert len(visits) <= extra_limit | assert len(visits) <= extra_limit | ||||
if len(visits) == extra_limit: | if len(visits) == extra_limit: | ||||
last_visit = visits[limit] | |||||
visits = visits[:limit] | visits = visits[:limit] | ||||
assert last_visit is not None and last_visit.visit is not None | next_page_token = str(visits[-1].visit) | ||||
if order == ListOrder.ASC: | |||||
next_page_token = str(last_visit.visit - 1) | |||||
else: | |||||
next_page_token = str(last_visit.visit + 1) | |||||
return PagedResult(results=visits, next_page_token=next_page_token) | return PagedResult(results=visits, next_page_token=next_page_token) | ||||
def origin_visit_find_by_date( | def origin_visit_find_by_date( | ||||
self, origin: str, visit_date: datetime.datetime | self, origin: str, visit_date: datetime.datetime | ||||
) -> Optional[OriginVisit]: | ) -> Optional[OriginVisit]: | ||||
# Iterator over all the visits of the origin | # Iterator over all the visits of the origin | ||||
# This should be ok for now, as there aren't too many visits | # This should be ok for now, as there aren't too many visits | ||||
▲ Show 20 Lines • Show All 299 Lines • Show Last 20 Lines |