Changeset View
Changeset View
Standalone View
Standalone View
swh/loader/package/loader.py
Show First 20 Lines • Show All 255 Lines • ▼ Show 20 Lines | def load(self) -> Dict: | ||||
status_visit = 'full' # either: partial, full | status_visit = 'full' # either: partial, full | ||||
tmp_revisions = {} # type: Dict[str, List] | tmp_revisions = {} # type: Dict[str, List] | ||||
snapshot = None | snapshot = None | ||||
# Prepare origin and origin_visit | # Prepare origin and origin_visit | ||||
origin = Origin(url=self.url) | origin = Origin(url=self.url) | ||||
try: | try: | ||||
self.storage.origin_add_one(origin) | self.storage.origin_add_one(origin) | ||||
visit_id = self.storage.origin_visit_add( | visit = self.storage.origin_visit_add( | ||||
origin=self.url, | self.url, date=self.visit_date, type=self.visit_type) | ||||
date=self.visit_date, | |||||
type=self.visit_type)['visit'] | |||||
except Exception: | except Exception: | ||||
logger.exception('Failed to create origin/origin_visit:') | logger.exception('Failed to create origin/origin_visit:') | ||||
return {'status': 'failed'} | return {'status': 'failed'} | ||||
try: | try: | ||||
last_snapshot = self.last_snapshot() | last_snapshot = self.last_snapshot() | ||||
logger.debug('last snapshot: %s', last_snapshot) | logger.debug('last snapshot: %s', last_snapshot) | ||||
known_artifacts = self.known_artifacts(last_snapshot) | known_artifacts = self.known_artifacts(last_snapshot) | ||||
▲ Show 20 Lines • Show All 57 Lines • ▼ Show 20 Lines | def load(self) -> Dict: | ||||
if hasattr(self.storage, 'flush'): | if hasattr(self.storage, 'flush'): | ||||
self.storage.flush() | self.storage.flush() | ||||
except Exception: | except Exception: | ||||
logger.exception('Fail to load %s' % self.url) | logger.exception('Fail to load %s' % self.url) | ||||
status_visit = 'partial' | status_visit = 'partial' | ||||
status_load = 'failed' | status_load = 'failed' | ||||
finally: | finally: | ||||
self.storage.origin_visit_update( | self.storage.origin_visit_update( | ||||
origin=self.url, visit_id=visit_id, status=status_visit, | origin=self.url, visit_id=visit.visit, status=status_visit, | ||||
snapshot=snapshot and snapshot.id) | snapshot=snapshot and snapshot.id) | ||||
result = { | result = { | ||||
'status': status_load, | 'status': status_load, | ||||
} # type: Dict[str, Any] | } # type: Dict[str, Any] | ||||
if snapshot: | if snapshot: | ||||
result['snapshot_id'] = hash_to_hex(snapshot.id) | result['snapshot_id'] = hash_to_hex(snapshot.id) | ||||
return result | return result | ||||
▲ Show 20 Lines • Show All 72 Lines • Show Last 20 Lines |