Changeset View
Changeset View
Standalone View
Standalone View
swh/storage/cassandra/storage.py
# Copyright (C) 2019-2020 The Software Heritage developers | # Copyright (C) 2019-2020 The Software Heritage developers | ||||
# See the AUTHORS file at the top-level directory of this distribution | # See the AUTHORS file at the top-level directory of this distribution | ||||
# License: GNU General Public License version 3, or any later version | # License: GNU General Public License version 3, or any later version | ||||
# See top-level LICENSE file for more information | # See top-level LICENSE file for more information | ||||
import datetime | import datetime | ||||
import itertools | import itertools | ||||
import json | import json | ||||
import random | import random | ||||
import re | import re | ||||
from typing import Any, Dict, List, Iterable, Optional | from typing import Any, Dict, List, Iterable, Optional | ||||
import attr | import attr | ||||
from deprecated import deprecated | |||||
from swh.core.api.serializers import msgpack_loads, msgpack_dumps | from swh.core.api.serializers import msgpack_loads, msgpack_dumps | ||||
from swh.model.model import ( | from swh.model.model import ( | ||||
Revision, | Revision, | ||||
Release, | Release, | ||||
Directory, | Directory, | ||||
DirectoryEntry, | DirectoryEntry, | ||||
Content, | Content, | ||||
▲ Show 20 Lines • Show All 749 Lines • ▼ Show 20 Lines | def origin_add(self, origins: Iterable[Origin]) -> Dict[str, int]: | ||||
if d is not None | if d is not None | ||||
] | ] | ||||
to_add = [origin for origin in origins if origin.url not in known_origins] | to_add = [origin for origin in origins if origin.url not in known_origins] | ||||
self.journal_writer.origin_add(to_add) | self.journal_writer.origin_add(to_add) | ||||
for origin in to_add: | for origin in to_add: | ||||
self.origin_add_one(origin) | self.origin_add_one(origin) | ||||
return {"origin:add": len(to_add)} | return {"origin:add": len(to_add)} | ||||
@deprecated("Use origin_add([origin]) instead") | |||||
def origin_add_one(self, origin: Origin) -> str: | def origin_add_one(self, origin: Origin) -> str: | ||||
known_origin = self.origin_get_one(origin.to_dict()) | known_origin = self.origin_get_one(origin.to_dict()) | ||||
if known_origin: | if known_origin: | ||||
origin_url = known_origin["url"] | origin_url = known_origin["url"] | ||||
else: | else: | ||||
self.journal_writer.origin_add([origin]) | self.journal_writer.origin_add([origin]) | ||||
▲ Show 20 Lines • Show All 370 Lines • Show Last 20 Lines |