Changeset View
Changeset View
Standalone View
Standalone View
swh/storage/storage.py
Show First 20 Lines • Show All 559 Lines • ▼ Show 20 Lines | def directory_add(self, directories, db, cur): | ||||
for cur_dir in directories: | for cur_dir in directories: | ||||
dir_id = cur_dir['id'] | dir_id = cur_dir['id'] | ||||
dirs.add(dir_id) | dirs.add(dir_id) | ||||
for src_entry in cur_dir['entries']: | for src_entry in cur_dir['entries']: | ||||
entry = src_entry.copy() | entry = src_entry.copy() | ||||
entry['dir_id'] = dir_id | entry['dir_id'] = dir_id | ||||
dir_entries[entry['type']][dir_id].append(entry) | dir_entries[entry['type']][dir_id].append(entry) | ||||
dirs_missing = set(self.directory_missing(dirs)) | dirs_missing = set(self.directory_missing(dirs, db=db, cur=cur)) | ||||
if not dirs_missing: | if not dirs_missing: | ||||
return summary | return summary | ||||
# Copy directory ids | # Copy directory ids | ||||
dirs_missing_dict = ({'id': dir} for dir in dirs_missing) | dirs_missing_dict = ({'id': dir} for dir in dirs_missing) | ||||
db.mktemp('directory', cur) | db.mktemp('directory', cur) | ||||
db.copy_to(dirs_missing_dict, 'tmp_directory', ['id'], cur) | db.copy_to(dirs_missing_dict, 'tmp_directory', ['id'], cur) | ||||
▲ Show 20 Lines • Show All 113 Lines • ▼ Show 20 Lines | def revision_add(self, revisions, db, cur): | ||||
""" | """ | ||||
summary = {'revision:add': 0} | summary = {'revision:add': 0} | ||||
if self.journal_writer: | if self.journal_writer: | ||||
self.journal_writer.write_additions('revision', revisions) | self.journal_writer.write_additions('revision', revisions) | ||||
revisions_missing = set(self.revision_missing( | revisions_missing = set(self.revision_missing( | ||||
set(revision['id'] for revision in revisions))) | set(revision['id'] for revision in revisions), | ||||
db=db, cur=cur)) | |||||
if not revisions_missing: | if not revisions_missing: | ||||
return summary | return summary | ||||
db.mktemp_revision(cur) | db.mktemp_revision(cur) | ||||
revisions_filtered = ( | revisions_filtered = ( | ||||
converters.revision_to_db(revision) for revision in revisions | converters.revision_to_db(revision) for revision in revisions | ||||
▲ Show 20 Lines • Show All 1,089 Lines • Show Last 20 Lines |