Changeset View
Changeset View
Standalone View
Standalone View
swh/storage/in_memory.py
Show First 20 Lines • Show All 882 Lines • ▼ Show 20 Lines | ) -> PagedResult[OriginVisit]: | ||||
if visit_from > 0 and order == ListOrder.ASC: | if visit_from > 0 and order == ListOrder.ASC: | ||||
visits = [v for v in visits if v.visit > visit_from] | visits = [v for v in visits if v.visit > visit_from] | ||||
elif visit_from > 0 and order == ListOrder.DESC: | elif visit_from > 0 and order == ListOrder.DESC: | ||||
visits = [v for v in visits if v.visit < visit_from] | visits = [v for v in visits if v.visit < visit_from] | ||||
visits = visits[:extra_limit] | visits = visits[:extra_limit] | ||||
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]: | ||||
origin_url = self._get_origin_url(origin) | origin_url = self._get_origin_url(origin) | ||||
if origin_url in self._origin_visits: | if origin_url in self._origin_visits: | ||||
▲ Show 20 Lines • Show All 318 Lines • Show Last 20 Lines |