Beispiel #1
0
def create_event(tag_type: str, place: str = None, date: str = None, level: int = 1):
    event_element = Element(level, '', tag_type, '')
    if place is not None:
        event_place_element = Element(level + 1, '', tags.GEDCOM_TAG_PLACE, place)
        event_element.add_child_element(event_place_element)

    if date is not None:
        event_date_element = Element(level + 1, '', tags.GEDCOM_TAG_DATE, date)
        event_element.add_child_element(event_date_element)
    return event_element
Beispiel #2
0
    def test_gen_head_and_submitter(self):
        user = User(username="******")
        tree = Tree(title="Test", creator=user)

        head, submitter = gedcom_generator.gen_head_and_submitter(tree)

        expected_head = Element(0, '', tags.GEDCOM_TAG_HEAD, '')
        charset_element = Element(1, '', tags.GEDCOM_TAG_CHARSET,
                                  tags.GEDCOM_CHARSET_UTF8)
        expected_head.add_child_element(charset_element)
        gedcom_element = Element(1, '', tags.GEDCOM_TAG_GEDCOM, '')
        version_element = Element(2, '', tags.GEDCOM_TAG_VERSION, '5.5')
        gedcom_element.add_child_element(version_element)
        format_element = Element(2, '', tags.GEDCOM_TAG_FORM, 'Lineage-Linked')
        gedcom_element.add_child_element(format_element)
        expected_head.add_child_element(gedcom_element)
        submitter_ptr = '@SUBMITTER@'
        expected_head.add_child_element(
            Element(1, '', tags.GEDCOM_TAG_SUBMITTER, submitter_ptr))
        expected_submitter = Element(0, submitter_ptr,
                                     tags.GEDCOM_TAG_SUBMITTER, '')
        expected_submitter.add_child_element(
            Element(1, '', tags.GEDCOM_TAG_NAME, tree.creator.username))

        self.assertTrue(gedcom_helpers.element_equals(head, expected_head))
        self.assertTrue(
            gedcom_helpers.element_equals(submitter, expected_submitter))