From 47a907337c636d33c782cb9308db138ac69a8935 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Wed, 12 May 2021 11:06:17 +0200 Subject: [PATCH] don't validate key regex if output is list of lists --- openpype/settings/entities/dict_mutable_keys_entity.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/openpype/settings/entities/dict_mutable_keys_entity.py b/openpype/settings/entities/dict_mutable_keys_entity.py index b0a6de261d..63b9f54b2b 100644 --- a/openpype/settings/entities/dict_mutable_keys_entity.py +++ b/openpype/settings/entities/dict_mutable_keys_entity.py @@ -1,6 +1,6 @@ import re import copy - +import collections from .lib import ( NOT_SET, OverrideState @@ -98,7 +98,7 @@ class DictMutableKeysEntity(EndpointEntity): # TODO Check for value type if is Settings entity? child_obj = self.children_by_key.get(key) if not child_obj: - if not KEY_REGEX.match(key): + if not self.store_as_list and not KEY_REGEX.match(key): raise InvalidKeySymbols(self.path, key) child_obj = self.add_key(key) @@ -112,7 +112,7 @@ class DictMutableKeysEntity(EndpointEntity): if new_key == old_key: return - if not KEY_REGEX.match(new_key): + if not self.store_as_list and not KEY_REGEX.match(new_key): raise InvalidKeySymbols(self.path, new_key) self.children_by_key[new_key] = self.children_by_key.pop(old_key) @@ -129,7 +129,7 @@ class DictMutableKeysEntity(EndpointEntity): if key in self.children_by_key: self.pop(key) - if not KEY_REGEX.match(key): + if not self.store_as_list and not KEY_REGEX.match(key): raise InvalidKeySymbols(self.path, key) if self.value_is_env_group: @@ -370,7 +370,7 @@ class DictMutableKeysEntity(EndpointEntity): children_label_by_id = {} metadata_labels = metadata.get(M_DYNAMIC_KEY_LABEL) or {} for _key, _value in new_value.items(): - if not KEY_REGEX.match(_key): + if not self.store_as_list and not KEY_REGEX.match(_key): # Replace invalid characters with underscore # - this is safety to not break already existing settings _key = re.sub(