python/samba: add alias for ConfigParser for PY2/PY3 compatability
authorNoel Power <noel.power@suse.com>
Fri, 24 Aug 2018 08:55:08 +0000 (09:55 +0100)
committerAndrew Bartlett <abartlet@samba.org>
Tue, 23 Oct 2018 03:50:26 +0000 (05:50 +0200)
ConfigParser module changed name to configParser in PY3, additionally
the behaviour regarding interpolation has changed. ConfigParser now
has a default interpolation param whose behaviour demands that '%' is
escaped. To maintain behaviour with the python2 version this default
param needs to be changed. Add some alias(s) and 'shim' Configparser
symbol in samba.compat to cater for this.

Signed-off-by: Noel Power <noel.power@suse.com>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
python/samba/compat.py

index 0c1869ad3b580ed8318bb78f7d2886cd95fad13a..ff5f3c2176295fbbfc19ef2021a15b419ccd9a42 100644 (file)
@@ -83,6 +83,9 @@ if PY3:
     # alias
     import io
     StringIO = io.StringIO
+    def ConfigParser(defaults=None, dict_type=None, allow_no_value=None):
+        from configparser import ConfigParser
+        return ConfigParser(defaults, dict_type, allow_no_value, interpolation=None)
 else:
     # Helper function to return bytes.
     # if 'unicode' is passed in then it is decoded using 'utf8' and
@@ -158,4 +161,5 @@ else:
     # alias
     import cStringIO
     StringIO = cStringIO.StringIO
+    from ConfigParser import ConfigParser
     cmp_fn = cmp