aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/configfile.py
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2021-10-09 19:34:08 -0400
committerKevin O'Connor <kevin@koconnor.net>2021-10-09 19:37:48 -0400
commitc56c34fa1c4c8bf7e10448804604edf600fdefa0 (patch)
treecf34580b682881732564682a765b679dc2ac2228 /klippy/configfile.py
parent21d5a34d220e0d609cc89414d120e8c375d7e394 (diff)
downloadkutter-c56c34fa1c4c8bf7e10448804604edf600fdefa0.tar.gz
kutter-c56c34fa1c4c8bf7e10448804604edf600fdefa0.tar.xz
kutter-c56c34fa1c4c8bf7e10448804604edf600fdefa0.zip
configfile: Use Python2's ConfigParser when running on Python2
The backport of Python3's configparser causes issues when there is unicode characters in the config file. To avoid introducing new errors, go back to using the Python2 version of ConfigParser when running on Python2. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/configfile.py')
-rw-r--r--klippy/configfile.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/klippy/configfile.py b/klippy/configfile.py
index 518b574b..165e9320 100644
--- a/klippy/configfile.py
+++ b/klippy/configfile.py
@@ -3,7 +3,7 @@
# Copyright (C) 2016-2021 Kevin O'Connor <kevin@koconnor.net>
#
# This file may be distributed under the terms of the GNU GPLv3 license.
-import os, glob, re, time, logging, configparser, io
+import sys, os, glob, re, time, logging, configparser, io
error = configparser.Error
@@ -255,9 +255,11 @@ class PrinterConfig:
self._parse_config_buffer(buffer, filename, fileconfig)
visited.remove(path)
def _build_config_wrapper(self, data, filename):
- cp = (';', '#')
- fileconfig = configparser.RawConfigParser(
- strict=False, comment_prefixes=cp, inline_comment_prefixes=cp)
+ if sys.version_info.major >= 3:
+ fileconfig = configparser.RawConfigParser(
+ strict=False, inline_comment_prefixes=(';', '#'))
+ else:
+ fileconfig = configparser.RawConfigParser()
self._parse_config(data, filename, fileconfig, set())
return ConfigWrapper(self.printer, fileconfig, {}, 'printer')
def _build_config_string(self, config):