def apply_dir_changes_to_dir_info(base_dir, dir_changes): file_info_list = [] for change in dir_changes.flat_changes(): if change.parent_change_path(): # This file is already deleted as the parent change path is deleted continue elif change.content_status == CONTENT_STATUS_DELETED: continue fi = change.cur_info file_info_list.append(change.cur_info) return file_info.load_dir_info_from_file_info_list(base_dir, file_info_list)
def _extract_compressed_dir_info(self, dir_info): file_info_list = [] for fi in dir_info.flat_file_info_list(): fi2 = copy.deepcopy(fi) if fi2.compressed_file_info: fi3 = fi2.compressed_file_info fi3.original_file_info = fi2 fi2.compressed_file_info = None file_info_list.append(fi3) else: file_info_list.append(fi2) return file_info.load_dir_info_from_file_info_list( '.', file_info_list, key=self.compression_key)