diff options
author | Jordan Woyak <jordan.woyak@gmail.com> | 2023-02-09 20:41:09 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-09 21:41:09 -0500 |
commit | 1e7057e917c0a663a508ac9b616d77ae53d78297 (patch) | |
tree | d719007b83da36df6557b1668ab8f044ee07fa9e /klippy/configfile.py | |
parent | df1137ef7542a4ffa0060e078cd46f402499a075 (diff) | |
download | kutter-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.py | 8 |
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)) |