Changeset View
Changeset View
Standalone View
Standalone View
swh/storage/in_memory.py
Show First 20 Lines • Show All 480 Lines • ▼ Show 20 Lines | def directory_add(self, directories): | ||||
directory entry | directory entry | ||||
- perms (int): entry permissions | - perms (int): entry permissions | ||||
Returns: | Returns: | ||||
Summary dict of keys with associated count as values: | Summary dict of keys with associated count as values: | ||||
directory:add: Number of directories actually added | directory:add: Number of directories actually added | ||||
""" | """ | ||||
directories = list(directories) | |||||
if self.journal_writer: | if self.journal_writer: | ||||
self.journal_writer.write_additions( | self.journal_writer.write_additions( | ||||
'directory', | 'directory', | ||||
(dir_ for dir_ in directories | (dir_ for dir_ in directories | ||||
if dir_['id'] not in self._directories)) | if dir_['id'] not in self._directories)) | ||||
directories = [Directory.from_dict(d) for d in directories] | directories = [Directory.from_dict(d) for d in directories] | ||||
▲ Show 20 Lines • Show All 150 Lines • ▼ Show 20 Lines | def revision_add(self, revisions): | ||||
date dictionaries have the form defined in :mod:`swh.model`. | date dictionaries have the form defined in :mod:`swh.model`. | ||||
Returns: | Returns: | ||||
Summary dict of keys with associated count as values | Summary dict of keys with associated count as values | ||||
revision_added: New objects actually stored in db | revision_added: New objects actually stored in db | ||||
""" | """ | ||||
revisions = list(revisions) | |||||
if self.journal_writer: | if self.journal_writer: | ||||
self.journal_writer.write_additions( | self.journal_writer.write_additions( | ||||
'revision', | 'revision', | ||||
(rev for rev in revisions | (rev for rev in revisions | ||||
if rev['id'] not in self._revisions)) | if rev['id'] not in self._revisions)) | ||||
revisions = [Revision.from_dict(rev) for rev in revisions] | revisions = [Revision.from_dict(rev) for rev in revisions] | ||||
▲ Show 20 Lines • Show All 100 Lines • ▼ Show 20 Lines | def release_add(self, releases): | ||||
the date dictionary has the form defined in :mod:`swh.model`. | the date dictionary has the form defined in :mod:`swh.model`. | ||||
Returns: | Returns: | ||||
Summary dict of keys with associated count as values | Summary dict of keys with associated count as values | ||||
release:add: New objects contents actually stored in db | release:add: New objects contents actually stored in db | ||||
""" | """ | ||||
releases = list(releases) | |||||
if self.journal_writer: | if self.journal_writer: | ||||
self.journal_writer.write_additions( | self.journal_writer.write_additions( | ||||
'release', | 'release', | ||||
(rel for rel in releases | (rel for rel in releases | ||||
if rel['id'] not in self._releases)) | if rel['id'] not in self._releases)) | ||||
releases = [Release.from_dict(rel) for rel in releases] | releases = [Release.from_dict(rel) for rel in releases] | ||||
▲ Show 20 Lines • Show All 511 Lines • ▼ Show 20 Lines | def origin_add(self, origins): | ||||
with the following keys: | with the following keys: | ||||
- url (bytes): the url the origin points to | - url (bytes): the url the origin points to | ||||
Returns: | Returns: | ||||
list: given origins as dict updated with their id | list: given origins as dict updated with their id | ||||
""" | """ | ||||
origins = copy.deepcopy(origins) | origins = copy.deepcopy(list(origins)) | ||||
for origin in origins: | for origin in origins: | ||||
self.origin_add_one(origin) | self.origin_add_one(origin) | ||||
return origins | return origins | ||||
def origin_add_one(self, origin): | def origin_add_one(self, origin): | ||||
"""Add origin to the storage | """Add origin to the storage | ||||
Args: | Args: | ||||
▲ Show 20 Lines • Show All 545 Lines • Show Last 20 Lines |