mirror of
https://github.com/qurator-spk/modstool.git
synced 2025-06-26 12:09:55 +02:00
🐛 modstool: Fix handling multiple <mods:language>
There may be multiple <mods:language> tags with mods:languageTerm children, that should be merged into one language_languageTerm column
This commit is contained in:
parent
5c48541dee
commit
75ff143a25
2 changed files with 17 additions and 6 deletions
|
@ -6,12 +6,23 @@ from .. import mods_to_dict, flatten
|
|||
|
||||
|
||||
def dict_fromstring(x):
|
||||
"""Helper function to parse a MODS XML string to a flattened dict"""
|
||||
return flatten(mods_to_dict(ET.fromstring(x)))
|
||||
"""Helper function to parse a MODS XML string to a flattened dict"""
|
||||
return flatten(mods_to_dict(ET.fromstring(x)))
|
||||
|
||||
def test_languageTerm():
|
||||
def test_single_language_languageTerm():
|
||||
d = dict_fromstring("""
|
||||
<mods:mods xmlns:mods="http://www.loc.gov/mods/v3">
|
||||
<mods:language>
|
||||
<mods:languageTerm authority="iso639-2b" type="code">lat</mods:languageTerm>
|
||||
<mods:languageTerm authority="iso639-2b" type="code">ger</mods:languageTerm>
|
||||
</mods:language>
|
||||
</mods:mods>
|
||||
""")
|
||||
assert d['language_languageTerm'] == {'ger', 'lat'}
|
||||
|
||||
def test_multitple_language_languageTerm():
|
||||
"""
|
||||
Different languages have multiple mods:language elements.
|
||||
Different languages MAY have multiple mods:language elements.
|
||||
See MODS-AP 2.3.1
|
||||
"""
|
||||
d = dict_fromstring("""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue