From eb9b8197ad9aa25c29afa84a93c33ca845cee9aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20J=C3=A4rventaus?= Date: Wed, 10 Jan 2024 11:58:55 +0200 Subject: [PATCH] Spanish edition: check "tags" more sensibly In case "tags" can be modified by sub-arguments. --- src/wiktextract/extractor/es/pronunciation.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/wiktextract/extractor/es/pronunciation.py b/src/wiktextract/extractor/es/pronunciation.py index 9c03bce28..4e04b2d57 100644 --- a/src/wiktextract/extractor/es/pronunciation.py +++ b/src/wiktextract/extractor/es/pronunciation.py @@ -109,7 +109,7 @@ def process_pron_graf_template( spelling_data.append(spelling_v) main_sound = variations[0] - for key in main_sound.model_fields_set | {"tags"}: + for key in main_sound.model_fields_set: # because "tags" is a field that is never 'set' (just appended to) # it apparently doesn't appear in mode_fields_set. for i, other_variation in variations.items(): @@ -117,6 +117,13 @@ def process_pron_graf_template( continue if key not in other_variation.model_fields_set: setattr(other_variation, key, getattr(main_sound, key)) + if main_sound.tags: + for i, other_variaton in variations.items(): + if i == 0: + continue + if not other_variation.tags: + other_variations.tags = main_sound.tags.copy() + for sound in variations.values(): if len(sound.model_dump(exclude_defaults=True)) > 0: sound_data.append(sound)