Esempio n. 1
0
    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)
Esempio n. 2
0
    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)
Esempio n. 3
0
    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)
Esempio n. 4
0
    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)
Esempio n. 5
0
 def process_preamble(self, value_list):
     value = textutils.normalize_whitespace(
         self.flatten_value_list(value_list))
     self.data.add_to_preamble(value)
Esempio n. 6
0
 def process_preamble(self, value_list):
     value = textutils.normalize_whitespace(self.flatten_value_list(value_list))
     self.data.add_to_preamble(value)