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
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))