|
@@ -23,15 +23,24 @@ class _YamlLoader(yaml.SafeLoader):
|
|
person.name = person_attrs["name"]
|
|
person.name = person_attrs["name"]
|
|
if "birth_date" in person_attrs:
|
|
if "birth_date" in person_attrs:
|
|
person.birth_date = person_attrs["birth_date"]
|
|
person.birth_date = person_attrs["birth_date"]
|
|
|
|
+ if "mother" in person_attrs:
|
|
|
|
+ person.mother = Person(person_attrs["mother"])
|
|
|
|
+ if "father" in person_attrs:
|
|
|
|
+ person.father = Person(person_attrs["father"])
|
|
return person
|
|
return person
|
|
|
|
|
|
|
|
|
|
def read(yaml_path: typing.Union[str, pathlib.Path]) -> Person:
|
|
def read(yaml_path: typing.Union[str, pathlib.Path]) -> Person:
|
|
"""
|
|
"""
|
|
- >>> read('persons/max-mustermann.yml')
|
|
|
|
- Person(max-mustermann, Max Mustermann, *1976-02-01)
|
|
|
|
>>> read('persons/erika-mustermann.yml')
|
|
>>> read('persons/erika-mustermann.yml')
|
|
Person(erika-mustermann, Erika Mustermann, *1957-08-12)
|
|
Person(erika-mustermann, Erika Mustermann, *1957-08-12)
|
|
|
|
+ >>> maxl = read('persons/max-mustermann.yml')
|
|
|
|
+ >>> maxl
|
|
|
|
+ Person(max-mustermann, Max Mustermann, *1976-02-01)
|
|
|
|
+ >>> maxl.mother
|
|
|
|
+ Person(erika-mustermann)
|
|
|
|
+ >>> maxl.father
|
|
|
|
+ Person(thomas-mustermann)
|
|
"""
|
|
"""
|
|
if isinstance(yaml_path, str):
|
|
if isinstance(yaml_path, str):
|
|
return read(pathlib.Path(yaml_path))
|
|
return read(pathlib.Path(yaml_path))
|