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
This commit is contained in:
ChangBo Guo(gcb) 2016-09-11 16:02:31 +08:00 committed by ChangBo Guo(gcb)
parent 41f3dd6920
commit 00b3f8a4c5
2 changed files with 14 additions and 3 deletions

View File

@ -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)

View File

@ -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)