From 00b3f8a4c533712db9c7e54c2089b7d644c969d4 Mon Sep 17 00:00:00 2001 From: "ChangBo Guo(gcb)" Date: Sun, 11 Sep 2016 16:02:31 +0800 Subject: [PATCH] Fix SafeConfigParser DeprecationWarning in Python 3.2 SafeConfigParser is deprecated in Python 3.2 and log warning like " DeprecationWarning: The SafeConfigParser class has been renamed to ConfigParser in Python 3.2. This alias will be removed in future versions. Use ConfigParser directly instead." So use ConfigParser in Python 3.2+. Closes-Bug: #1618666 Change-Id: I30fe51324ffcc0afbd02799449daee8f628634b6 --- ...x-deprecated-SafeConfigParse-ca3fd3e9f52a8cc8.yaml | 6 ++++++ trove/common/stream_codecs.py | 11 ++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 releasenotes/notes/fix-deprecated-SafeConfigParse-ca3fd3e9f52a8cc8.yaml diff --git a/releasenotes/notes/fix-deprecated-SafeConfigParse-ca3fd3e9f52a8cc8.yaml b/releasenotes/notes/fix-deprecated-SafeConfigParse-ca3fd3e9f52a8cc8.yaml new file mode 100644 index 0000000000..cc2b777354 --- /dev/null +++ b/releasenotes/notes/fix-deprecated-SafeConfigParse-ca3fd3e9f52a8cc8.yaml @@ -0,0 +1,6 @@ + +--- +fixes: + - Since SafeConfigParser is deprecated in Python version 3.2, + Trove uses ConfigParser for versions of Python >= 3.2 and + SafeConfigParser for earlier versions. (Bug 1618666) diff --git a/trove/common/stream_codecs.py b/trove/common/stream_codecs.py index f79401cb02..52fc3000aa 100644 --- a/trove/common/stream_codecs.py +++ b/trove/common/stream_codecs.py @@ -19,12 +19,13 @@ import base64 import csv import json import re +import sys + import six -from six.moves.configparser import SafeConfigParser +from six.moves import configparser import xmltodict import yaml - from trove.common import utils as trove_utils @@ -227,7 +228,11 @@ class IniCodec(StreamCodec): return buf def _init_config_parser(self, sections=None): - parser = SafeConfigParser(allow_no_value=True) + # SafeConfigParser was deprecated in Python 3.2 + if sys.version_info >= (3, 2): + parser = configparser.ConfigParser(allow_no_value=True) + else: + parser = configparser.SafeConfigParser(allow_no_value=True) if sections: for section in sections: parser.add_section(section)