Changeset View
Changeset View
Standalone View
Standalone View
swh/storage/in_memory.py
Show First 20 Lines • Show All 747 Lines • ▼ Show 20 Lines | def origin_count(self, url_pattern, regexp=False, with_visit=False): | ||||
self.origin_search( | self.origin_search( | ||||
url_pattern, | url_pattern, | ||||
regexp=regexp, | regexp=regexp, | ||||
with_visit=with_visit, | with_visit=with_visit, | ||||
limit=len(self._origins), | limit=len(self._origins), | ||||
) | ) | ||||
) | ) | ||||
def origin_add(self, origins: Iterable[Origin]) -> List[Dict]: | def origin_add(self, origins: Iterable[Origin]) -> Dict[str, int]: | ||||
origins = copy.deepcopy(list(origins)) | origins = list(origins) | ||||
added = 0 | |||||
for origin in origins: | for origin in origins: | ||||
if origin.url not in self._origins: | |||||
self.origin_add_one(origin) | self.origin_add_one(origin) | ||||
return [origin.to_dict() for origin in origins] | added += 1 | ||||
return {"origin:add": added} | |||||
def origin_add_one(self, origin: Origin) -> str: | def origin_add_one(self, origin: Origin) -> str: | ||||
if origin.url not in self._origins: | if origin.url not in self._origins: | ||||
self.journal_writer.origin_add([origin]) | self.journal_writer.origin_add([origin]) | ||||
# generate an origin_id because it is needed by origin_get_range. | # generate an origin_id because it is needed by origin_get_range. | ||||
# TODO: remove this when we remove origin_get_range | # TODO: remove this when we remove origin_get_range | ||||
origin_id = len(self._origins) + 1 | origin_id = len(self._origins) + 1 | ||||
self._origins_by_id.append(origin.url) | self._origins_by_id.append(origin.url) | ||||
▲ Show 20 Lines • Show All 427 Lines • Show Last 20 Lines |