Page MenuHomeSoftware Heritage

D3305.id11800.diff
No OneTemporary

D3305.id11800.diff

diff --git a/swh/loader/package/loader.py b/swh/loader/package/loader.py
--- a/swh/loader/package/loader.py
+++ b/swh/loader/package/loader.py
@@ -119,13 +119,17 @@
"""
return ""
- def last_snapshot(self) -> Optional[Snapshot]:
- """Retrieve the last snapshot
+ def last_snapshot(self, last_visit: Optional[Dict[str, Any]]) -> Optional[Snapshot]:
+ """Retrieve the last snapshot out of the last visit.
"""
+ if not last_visit:
+ return None
snapshot = None
- visit = self.storage.origin_visit_get_latest(self.url, require_snapshot=True)
- snapshot_id = None if not visit else visit.get("snapshot")
+ visit_status = self.storage.origin_visit_status_get_latest(
+ self.url, last_visit["visit"], require_snapshot=True,
+ )
+ snapshot_id = None if not visit_status else visit_status.snapshot
if snapshot_id is not None:
snapshot_dict = snapshot_get_all_branches(self.storage, snapshot_id)
if snapshot_dict:
@@ -303,6 +307,9 @@
result["snapshot_id"] = hash_to_hex(snapshot_id)
return result
+ # last visit if any
+ last_visit = self.storage.origin_visit_get_latest(self.url)
+
# Prepare origin and origin_visit
origin = Origin(url=self.url)
try:
@@ -324,7 +331,7 @@
return {"status": "failed"}
try:
- last_snapshot = self.last_snapshot()
+ last_snapshot = self.last_snapshot(last_visit)
logger.debug("last snapshot: %s", last_snapshot)
known_artifacts = self.known_artifacts(last_snapshot)
logger.debug("known artifacts: %s", known_artifacts)

File Metadata

Mime Type
text/plain
Expires
Wed, Apr 16, 9:04 AM (2 d, 20 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3220676

Event Timeline