From 1cdbeef17f3a6e251f6e5eb114f5c1c303ffe538 Mon Sep 17 00:00:00 2001 From: ljf Date: Mon, 24 Oct 2022 16:13:19 +0200 Subject: [PATCH] [fix] Store tags as list if default is a list --- src/utils/config.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/utils/config.py b/src/utils/config.py index 93a0675e9..77842a363 100644 --- a/src/utils/config.py +++ b/src/utils/config.py @@ -1080,10 +1080,17 @@ class TagsQuestion(Question): @staticmethod def normalize(value, option={}): - if isinstance(value, list): + option = option.__dict__ if isinstance(option, Question) else option + + list_mode = "default" in option and isinstance(option["default"], list) + + if isinstance(value, list) and not list_mode: return ",".join(value) + if isinstance(value, str): value = value.strip() + if list_mode: + value = value.split(",") return value def _prevalidate(self): @@ -1098,7 +1105,7 @@ class TagsQuestion(Question): self.value = values def _post_parse_value(self): - if isinstance(self.value, list): + if isinstance(self.value, list) and not isinstance(self.default, list): self.value = ",".join(self.value) return super()._post_parse_value()