def process_entry(self, entry_type, key, fields): entry = Entry(entry_type) if key is None: key = 'unnamed-%i' % self.unnamed_entry_counter self.unnamed_entry_counter += 1 for field_name, field_value_list in fields: field_value = textutils.normalize_whitespace(self.flatten_value_list(field_value_list)) if field_name in self.person_fields: for name in split_name_list(field_value): entry.add_person(Person(name), field_name) else: entry.fields[field_name] = field_value self.data.add_entry(key, entry)
def process_entry(self, entry_type, key, fields): entry = Entry(entry_type) if key is None: key = 'unnamed-%i' % self.unnamed_entry_counter self.unnamed_entry_counter += 1 seen_fields = set() for field_name, field_value_list in fields: if field_name.lower() in seen_fields: self.handle_error(DuplicateField(key, field_name)) continue field_value = textutils.normalize_whitespace(self.flatten_value_list(field_value_list)) if field_name in self.person_fields: for name in split_name_list(field_value): entry.add_person(Person(name), field_name) else: entry.fields[field_name] = field_value seen_fields.add(field_name.lower()) self.data.add_entry(key, entry)
def process_entry(self, entry_type, key, fields): entry = Entry(entry_type) if key is None: key = 'unnamed-%i' % self.unnamed_entry_counter self.unnamed_entry_counter += 1 already_handled_person_fields = set() for field_name, field_value_list in fields: field_value = textutils.normalize_whitespace( self.flatten_value_list(field_value_list)) if field_name in self.person_fields: if field_name in already_handled_person_fields: error_message = 'entry with key {} has a duplicate {} field'.format( key, field_name) self.handle_error(DuplicatePersonField(error_message)) continue for name in split_name_list(field_value): entry.add_person(Person(name), field_name) already_handled_person_fields.add(field_name) else: entry.fields[field_name] = field_value self.data.add_entry(key, entry)
def process_preamble(self, value_list): value = textutils.normalize_whitespace( self.flatten_value_list(value_list)) self.data.add_to_preamble(value)
def process_preamble(self, value_list): value = textutils.normalize_whitespace(self.flatten_value_list(value_list)) self.data.add_to_preamble(value)