Changeset View
Changeset View
Standalone View
Standalone View
swh/storage/in_memory.py
Show First 20 Lines • Show All 913 Lines • ▼ Show 20 Lines | def origin_visit_get_latest( | ||||
allowed_statuses: Optional[List[str]] = None, | allowed_statuses: Optional[List[str]] = None, | ||||
require_snapshot: bool = False, | require_snapshot: bool = False, | ||||
) -> Optional[OriginVisit]: | ) -> Optional[OriginVisit]: | ||||
ori = self._origins.get(origin) | ori = self._origins.get(origin) | ||||
if not ori: | if not ori: | ||||
return None | return None | ||||
visits = sorted( | visits = sorted( | ||||
self._origin_visits[ori.url], key=lambda v: v.date, reverse=True, | self._origin_visits[ori.url], key=lambda v: (v.date, v.visit), reverse=True, | ||||
) | ) | ||||
for visit in visits: | for visit in visits: | ||||
if type is not None and visit.type != type: | if type is not None and visit.type != type: | ||||
continue | continue | ||||
visit_statuses = self._origin_visit_statuses[origin, visit.visit] | visit_statuses = self._origin_visit_statuses[origin, visit.visit] | ||||
if allowed_statuses is not None: | if allowed_statuses is not None: | ||||
visit_statuses = [ | visit_statuses = [ | ||||
▲ Show 20 Lines • Show All 282 Lines • Show Last 20 Lines |