Changeset View
Changeset View
Standalone View
Standalone View
swh/storage/in_memory.py
Show First 20 Lines • Show All 1,244 Lines • ▼ Show 20 Lines | def origin_visit_upsert(self, visits): | ||||
origin: Visited Origin id | origin: Visited Origin id | ||||
visit: origin visit id | visit: origin visit id | ||||
date: timestamp of such visit | date: timestamp of such visit | ||||
status: Visit's new status | status: Visit's new status | ||||
metadata: Data associated to the visit | metadata: Data associated to the visit | ||||
snapshot (sha1_git): identifier of the snapshot to add to | snapshot (sha1_git): identifier of the snapshot to add to | ||||
the visit | the visit | ||||
""" | """ | ||||
visits = copy.deepcopy(visits) | |||||
for visit in visits: | |||||
if isinstance(visit['date'], str): | |||||
visit['date'] = dateutil.parser.parse(visit['date']) | |||||
if self.journal_writer: | if self.journal_writer: | ||||
for visit in visits: | for visit in visits: | ||||
visit = visit.copy() | visit = visit.copy() | ||||
visit['origin'] = self.origin_get([{'id': visit['origin']}])[0] | visit['origin'] = self.origin_get([{'id': visit['origin']}])[0] | ||||
del visit['origin']['id'] | del visit['origin']['id'] | ||||
self.journal_writer.write_addition('origin_visit', visit) | self.journal_writer.write_addition('origin_visit', visit) | ||||
for visit in visits: | for visit in visits: | ||||
origin_id = visit['origin'] | origin_id = visit['origin'] | ||||
visit_id = visit['visit'] | visit_id = visit['visit'] | ||||
if isinstance(visit['date'], str): | |||||
visit['date'] = dateutil.parser.parse(visit['date']) | |||||
while len(self._origin_visits[origin_id-1]) < visit_id: | while len(self._origin_visits[origin_id-1]) < visit_id: | ||||
self._origin_visits[origin_id-1].append(None) | self._origin_visits[origin_id-1].append(None) | ||||
visit = self._origin_visits[origin_id-1][visit_id-1] = visit | visit = self._origin_visits[origin_id-1][visit_id-1] = visit | ||||
def origin_visit_get(self, origin, last_visit=None, limit=None): | def origin_visit_get(self, origin, last_visit=None, limit=None): | ||||
"""Retrieve all the origin's visit's information. | """Retrieve all the origin's visit's information. | ||||
Args: | Args: | ||||
▲ Show 20 Lines • Show All 278 Lines • Show Last 20 Lines |