changeset 523:085962f6c81f

Configuration._split_filters() now does the special filter check for None and Empty also
author Franz Glasner <fzglas.hg@dom66.de>
date Sun, 19 Dec 2021 19:01:43 +0100
parents 6b3da9e5acc6
children 09b8e28b7a44
files configmix/config.py
diffstat 1 files changed, 10 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/configmix/config.py	Sun Dec 19 18:53:32 2021 +0100
+++ b/configmix/config.py	Sun Dec 19 19:01:43 2021 +0100
@@ -651,12 +651,15 @@
         if sep:
             filters = filters.strip()
             if filters:
+                filters = filters.split(_FILTER_SEPARATOR)
                 return (name.rstrip(),
-                        filters.split(_FILTER_SEPARATOR))
+                        filters,
+                        NONE_FILTER in filters,
+                        EMPTY_FILTER in filters)
             else:
-                return (name.rstrip(), [])
+                return (name.rstrip(), [], False, False)
         else:
-            return (name, [])
+            return (name, [], False, False)
 
     def _lookupvar(self, *path):
         """Lookup a variable within a hierarchy.
@@ -773,12 +776,13 @@
             if end < 0:
                 rest = start
                 break
-            varname, filters = self._split_filters(s[start+2:end])
+            varname, filters, none_filter, empty_filter = self._split_filters(
+                s[start+2:end])
             try:
-                if NONE_FILTER in filters:
+                if none_filter:
                     varvalue = self._apply_filters(
                         filters, self.getvar_s(varname, default=None))
-                elif EMPTY_FILTER in filters:
+                elif empty_filter:
                     varvalue = self._apply_filters(
                         filters, self.getvar_s(varname,
                                                default=_EMPTY_STR))