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)