def run(self): methods = { 1: self.subject_meta, 2: self.period_meta, 3: self.assignment_meta, 4: self.group_meta, 5: self.deadline_meta, 6: self.delivery_meta, 7: self.file_meta, } # initialize top-level statistics self.metadata[''] = {} self.metadata['']['num_deliveries'] = 0 self.metadata['']['total_deliveries'] = 0 self.metadata['']['num_late_deliveries'] = 0 self.metadata['']['num_corrected'] = 0 self.metadata['']['num_groups'] = 0 self.metadata['']['num_assignments'] = 0 # sort the keys for key in sorted(self.metadata.keys()): if key == '': continue method = methods.get(self.depth(key), None) if method: method(key) save_metadata(self.metadata)
def write_metadata(self): devilryfolder = findconffolder() metafilename = join(devilryfolder, 'metadata') if exists(metafilename): rename(metafilename, join(devilryfolder, 'old_metadata')) save_metadata(self.metadata)
def set_and_save(self, path): self.metadata[dirname(path).replace(self.root_dir, '')]['corrected'] = True save_metadata(self.metadata)
def set_and_save(self): metanode = get_metadata_from_path(getcwd(), self.metadata) metanode[".meta"]["done"] = True save_metadata(self.metadata)