aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/configfile.py
diff options
context:
space:
mode:
authorJordan Woyak <jordan.woyak@gmail.com>2023-02-09 20:41:09 -0600
committerGitHub <noreply@github.com>2023-02-09 21:41:09 -0500
commit1e7057e917c0a663a508ac9b616d77ae53d78297 (patch)
treed719007b83da36df6557b1668ab8f044ee07fa9e /klippy/configfile.py
parentdf1137ef7542a4ffa0060e078cd46f402499a075 (diff)
downloadkutter-1e7057e917c0a663a508ac9b616d77ae53d78297.tar.gz
kutter-1e7057e917c0a663a508ac9b616d77ae53d78297.tar.xz
kutter-1e7057e917c0a663a508ac9b616d77ae53d78297.zip
configfile: Make getlists return an empty list on empty string. (#6042)
Signed-off-by: Jordan Woyak <jordan.woyak@gmail.com>
Diffstat (limited to 'klippy/configfile.py')
-rw-r--r--klippy/configfile.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/klippy/configfile.py b/klippy/configfile.py
index 63dd8149..dd32d47f 100644
--- a/klippy/configfile.py
+++ b/klippy/configfile.py
@@ -80,11 +80,15 @@ class ConfigWrapper:
def getlists(self, option, default=sentinel, seps=(',',), count=None,
parser=str, note_valid=True):
def lparser(value, pos):
+ if len(value.strip()) == 0:
+ # Return an empty list instead of [''] for empty string
+ parts = []
+ else:
+ parts = [p.strip() for p in value.split(seps[pos])]
if pos:
# Nested list
- parts = [p.strip() for p in value.split(seps[pos])]
return tuple([lparser(p, pos - 1) for p in parts if p])
- res = [parser(p.strip()) for p in value.split(seps[pos])]
+ res = [parser(p) for p in parts]
if count is not None and len(res) != count:
raise error("Option '%s' in section '%s' must have %d elements"
% (option, self.section, count))