changeset 148:be352645871c

Work around the deprecation of SafeConfigParser.readfp in Python 3.2+
author Franz Glasner <hg@dom66.de>
date Sat, 14 Apr 2018 12:44:42 +0200
parents 8b7333caba25
children 614a0a648f48
files configmix/ini.py
diffstat 1 files changed, 8 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/configmix/ini.py	Sat Apr 14 10:15:52 2018 +0200
+++ b/configmix/ini.py	Sat Apr 14 12:44:42 2018 +0200
@@ -53,7 +53,7 @@
             encoding = locale.getpreferredencoding()
         self.encoding = encoding
         with io.open(filename, mode="rt", encoding=self.encoding) as cf:
-            self.readfp(cf, filename)
+            self.read_file(cf, filename)
 
     def optionxform(self, option):
         return option
@@ -63,10 +63,10 @@
         return v.split(os.pathsep)
 
     def read(self, filenames):
-        """Not implemented. Use :meth:`readfp` instead"""
-        raise NotImplementedError("use `readfp()' instead")
+        """Not implemented. Use :meth:`read_file` instead"""
+        raise NotImplementedError("use `read_file()' instead")
 
-    def readfp(self, fp, filename):
+    def read_file(self, fp, filename):
         """Read from a file-like object `fp`.
 
         The `fp` argument must have a `readline()` method.
@@ -81,7 +81,10 @@
         self.set(None, u("self"), filename)
         self.set(None, u("here"), os.path.dirname(filename))
         self.set(None, u("root"), os.path.dirname(self.executable))
-        SafeConfigParser.readfp(self, fp, filename=filename)
+        if hasattr(SafeConfigParser, "read_file"):
+            SafeConfigParser.read_file(self, fp, source=filename)
+        else:
+            SafeConfigParser.readfp(self, fp, filename=filename)
         self.filename = filename
         self.root = os.path.dirname(self.executable)