jrobinAV преди 1 година
родител
ревизия
05ea301019

+ 2 - 4
taipy/config/_config.py

@@ -68,11 +68,9 @@ class _Config:
                 entity_config[self.DEFAULT_KEY] = other_entity_configs[self.DEFAULT_KEY]
         for cfg_id, sub_config in other_entity_configs.items():
             if cfg_id != self.DEFAULT_KEY:
-                if cfg_id in entity_config:
-                    entity_config[cfg_id]._update(sub_config._to_dict(), entity_config.get(self.DEFAULT_KEY))
-                else:
+                if cfg_id not in entity_config:
                     entity_config[cfg_id] = copy(sub_config)
-                    entity_config[cfg_id]._update(sub_config._to_dict(), entity_config.get(self.DEFAULT_KEY))
+                entity_config[cfg_id]._update(sub_config._to_dict(), entity_config.get(self.DEFAULT_KEY))
             self.__point_nested_section_to_self(sub_config)
 
     def __point_nested_section_to_self(self, section):

+ 11 - 12
taipy/config/_serializer/_base_serializer.py

@@ -56,25 +56,25 @@ class _BaseSerializer(object):
         if as_dict is None:
             return None
         if isinstance(as_dict, Section):
-            return as_dict.id + ":SECTION"
+            return f"{as_dict.id}:SECTION"
         if isinstance(as_dict, Scope):
-            return as_dict.name + ":SCOPE"
+            return f"{as_dict.name}:SCOPE"
         if isinstance(as_dict, Frequency):
-            return as_dict.name + ":FREQUENCY"
+            return f"{as_dict.name}:FREQUENCY"
         if isinstance(as_dict, bool):
-            return str(as_dict) + ":bool"
+            return f"{str(as_dict)}:bool"
         if isinstance(as_dict, int):
-            return str(as_dict) + ":int"
+            return f"{str(as_dict)}:int"
         if isinstance(as_dict, float):
-            return str(as_dict) + ":float"
+            return f"{str(as_dict)}:float"
         if isinstance(as_dict, datetime):
-            return as_dict.isoformat() + ":datetime"
+            return f"{as_dict.isoformat()}:datetime"
         if isinstance(as_dict, timedelta):
-            return cls._timedelta_to_str(as_dict) + ":timedelta"
+            return f"{cls._timedelta_to_str(as_dict)}:timedelta"
         if inspect.isfunction(as_dict) or isinstance(as_dict, types.BuiltinFunctionType):
-            return as_dict.__module__ + "." + as_dict.__name__ + ":function"
+            return f"{as_dict.__module__}.{as_dict.__name__}:function"
         if inspect.isclass(as_dict):
-            return as_dict.__module__ + "." + as_dict.__qualname__ + ":class"
+            return f"{as_dict.__module__}.{as_dict.__qualname__}:class"
         if isinstance(as_dict, dict):
             return {str(key): cls._stringify(val) for key, val in as_dict.items()}
         if isinstance(as_dict, list):
@@ -115,8 +115,7 @@ class _BaseSerializer(object):
                     r"^(.+):(\bbool\b|\bstr\b|\bint\b|\bfloat\b|\bdatetime\b||\btimedelta\b|"
                     r"\bfunction\b|\bclass\b|\bSCOPE\b|\bFREQUENCY\b|\bSECTION\b)?$"
                 )
-                match = re.fullmatch(TYPE_PATTERN, str(val))
-                if match:
+                if match := re.fullmatch(TYPE_PATTERN, str(val)):
                     actual_val = match.group(1)
                     dynamic_type = match.group(2)
                     if dynamic_type == "SECTION":

+ 2 - 3
taipy/config/checker/_checkers/_config_checker.py

@@ -51,9 +51,8 @@ class _ConfigChecker:
                 config_value,
                 f"{config_key} field of {parent_config_class.__name__} `{config_id}` is empty.",
             )
-        else:
-            if not (
-                (isinstance(config_value, List) or isinstance(config_value, Set))
+        elif not (
+                (isinstance(config_value, (List, Set)))
                 and all(isinstance(x, child_config_class) for x in config_value)
             ):
                 self._error(

+ 1 - 1
taipy/config/common/_config_blocker.py

@@ -40,7 +40,7 @@ class _ConfigBlocker:
                         " modifying the Configuration. For more information, please refer to:"
                         " https://docs.taipy.io/en/latest/manuals/running_services/#running-core."
                     )
-                    cls.__logger.error("ConfigurationUpdateBlocked: " + error_message)
+                    cls.__logger.error(f"ConfigurationUpdateBlocked: {error_message}")
                     raise ConfigurationUpdateBlocked(error_message)
 
                 return f(*args, **kwargs)

+ 2 - 3
taipy/config/common/_template_handler.py

@@ -43,8 +43,7 @@ class _TemplateHandler:
     def _replace_template(cls, template, type, required, default):
         if "ENV" not in str(template):
             return template
-        match = re.fullmatch(cls._PATTERN, str(template))
-        if match:
+        if match := re.fullmatch(cls._PATTERN, str(template)):
             var = match.group(1)
             dynamic_type = match.group(3)
             val = os.environ.get(var)
@@ -77,7 +76,7 @@ class _TemplateHandler:
         possible_values = ["true", "false"]
         if str.lower(val) not in possible_values:
             raise InconsistentEnvVariableError("{val} is not a Boolean.")
-        return str.lower(val) == "true" or not (str.lower(val) == "false")
+        return str.lower(val) == "true" or str.lower(val) != "false"
 
     @staticmethod
     def _to_int(val: str) -> int:

+ 9 - 11
taipy/config/config.py

@@ -178,11 +178,10 @@ class Config:
                 cls._default_config._unique_sections[default_section.name]._update(default_section._to_dict())
             else:
                 cls._default_config._unique_sections[default_section.name] = default_section
-        else:
-            if def_sections := cls._default_config._sections.get(default_section.name, None):
+        elif def_sections := cls._default_config._sections.get(default_section.name, None):
                 def_sections[default_section.id] = default_section
-            else:
-                cls._default_config._sections[default_section.name] = {default_section.id: default_section}
+        else:
+            cls._default_config._sections[default_section.name] = {default_section.id: default_section}
         cls._serializer._section_class[default_section.name] = default_section.__class__  # type: ignore
         cls.__json_serializer._section_class[default_section.name] = default_section.__class__  # type: ignore
         cls._compile_configs()
@@ -195,14 +194,13 @@ class Config:
                 cls._python_config._unique_sections[section.name]._update(section._to_dict())
             else:
                 cls._python_config._unique_sections[section.name] = section
-        else:
-            if sections := cls._python_config._sections.get(section.name, None):
-                if sections.get(section.id, None):
-                    sections[section.id]._update(section._to_dict())
-                else:
-                    sections[section.id] = section
+        elif sections := cls._python_config._sections.get(section.name, None):
+            if sections.get(section.id, None):
+                sections[section.id]._update(section._to_dict())
             else:
-                cls._python_config._sections[section.name] = {section.id: section}
+                sections[section.id] = section
+        else:
+            cls._python_config._sections[section.name] = {section.id: section}
         cls._serializer._section_class[section.name] = section.__class__
         cls.__json_serializer._section_class[section.name] = section.__class__
         cls._compile_configs()