From f4256f6f40ddc5ebc91778545ff251af9addabf4 Mon Sep 17 00:00:00 2001 From: Alastair Porter Date: Sun, 16 Jan 2022 20:58:46 +0100 Subject: [PATCH] Parse work language-list Fixes #235 Signed-off-by: Alastair Porter --- musicbrainzngs/mbxml.py | 3 ++- ...c9aad2-3c95-4e3e-8a01-3974f8fef8eb-series-rels.xml | 3 ++- test/test_mbxml_work.py | 11 +++++++++-- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/musicbrainzngs/mbxml.py b/musicbrainzngs/mbxml.py index b28c2bb7..d8f662a0 100644 --- a/musicbrainzngs/mbxml.py +++ b/musicbrainzngs/mbxml.py @@ -548,7 +548,8 @@ def parse_work(work): "iswc-list": parse_element_list, "relation-list": parse_relation_list, "annotation": parse_response_message, - "attribute-list": parse_work_attribute_list + "attribute-list": parse_work_attribute_list, + "language-list": parse_element_list, } result.update(parse_attributes(attribs, work)) diff --git a/test/data/work/72c9aad2-3c95-4e3e-8a01-3974f8fef8eb-series-rels.xml b/test/data/work/72c9aad2-3c95-4e3e-8a01-3974f8fef8eb-series-rels.xml index 9b8fb7ef..1a523124 100644 --- a/test/data/work/72c9aad2-3c95-4e3e-8a01-3974f8fef8eb-series-rels.xml +++ b/test/data/work/72c9aad2-3c95-4e3e-8a01-3974f8fef8eb-series-rels.xml @@ -1 +1,2 @@ -Cantata, BuxWV 1 "Accedite gentes, accurite populi"lat0790fa51-15d9-40a2-bca9-9c8eaaa96bef1backwardnumberBuxtehude-Werke-Verzeichnis \ No newline at end of file + +Cantata, BuxWV 1 "Accedite gentes, accurite populi"latlat0790fa51-15d9-40a2-bca9-9c8eaaa96bef1backwardnumberBuxtehude-Werke-Verzeichnis diff --git a/test/test_mbxml_work.py b/test/test_mbxml_work.py index f9dc9ecb..aebf5d6a 100644 --- a/test/test_mbxml_work.py +++ b/test/test_mbxml_work.py @@ -23,7 +23,6 @@ def testWorkAliases(self): self.assertEqual(a1["alias"], 'Symphony No. 3, Op. 55 "Eroica"') self.assertEqual(a1["sort-name"], 'Symphony No. 3, Op. 55 "Eroica"') - res = _common.open_and_parse_test_data(self.datadir, "3d7c7cd2-da79-37f4-98b8-ccfb1a4ac6c4-aliases.xml") aliases = res["work"]["alias-list"] self.assertEqual(len(aliases), 10) @@ -65,5 +64,13 @@ def testWorkRelationAttributes(self): # New attribute dict format attributes = rels[0]["attributes"] - expected = {"attribute": "number", "value": "BuxWV 1"} + expected = {"attribute": "number", + "value": "BuxWV 1", + "type-id": "a59c5830-5ec7-38fe-9a21-c7ea54f6650a"} self.assertEqual(expected, attributes[0]) + + def testWorkLanguage(self): + res = _common.open_and_parse_test_data(self.datadir, "72c9aad2-3c95-4e3e-8a01-3974f8fef8eb-series-rels.xml") + work = res["work"] + self.assertEqual(work["language"], "lat") + self.assertEqual(work["language-list"], ["lat"])