Fixed SafeConfigParser deprecation warning for py3

Using six.PY3 as configparser.SafeConfigParser in py2 got
renamed to configparser.ConfigParser in py3. In order to
keep the codebase running on both version, we are using
it.

Change-Id: I78471e3d0962cda610c22641787d80103eb413b0
This commit is contained in:
Chandan Kumar 2019-01-03 15:06:27 +05:30
parent d376c37fd6
commit 7c355f403e
2 changed files with 18 additions and 4 deletions

View File

@ -37,6 +37,7 @@ obtained by querying the cloud.
import argparse
import logging
import os
import six
import sys
import os_client_config
@ -132,7 +133,10 @@ def read_deployer_input(deployer_input_file, conf):
"""
LOG.info("Adding options from deployer-input file '%s'",
deployer_input_file)
deployer_input = configparser.SafeConfigParser()
if six.PY3:
deployer_input = configparser.ConfigParser()
else:
deployer_input = configparser.SafeConfigParser()
deployer_input.read(deployer_input_file)
for section in deployer_input.sections():
# There are no deployer input options in DEFAULT

View File

@ -14,6 +14,7 @@
# under the License.
import os
import six
import sys
from config_tempest import constants as C
@ -34,7 +35,10 @@ class TempestConf(configparser.SafeConfigParser):
def __init__(self, write_credentials=True, **kwargs):
self.write_credentials = write_credentials
configparser.SafeConfigParser.__init__(self, **kwargs)
if six.PY3:
configparser.ConfigParser.__init__(self, **kwargs)
else:
configparser.SafeConfigParser.__init__(self, **kwargs)
def get_bool_value(self, value):
"""Returns boolean value of the string value given.
@ -101,7 +105,10 @@ class TempestConf(configparser.SafeConfigParser):
if priority:
self.priority_sectionkeys.add((section, key))
C.LOG.debug("Setting [%s] %s = %s", section, key, value)
configparser.SafeConfigParser.set(self, section, key, value)
if six.PY3:
configparser.ConfigParser.set(self, section, key, value)
else:
configparser.SafeConfigParser.set(self, section, key, value)
return True
def write(self, out_path):
@ -111,7 +118,10 @@ class TempestConf(configparser.SafeConfigParser):
"writing credentials is disabled.")
self.remove_values(C.ALL_CREDENTIALS_KEYS)
with open(out_path, 'w') as f:
configparser.SafeConfigParser.write(self, f)
if six.PY3:
configparser.ConfigParser.write(self, f)
else:
configparser.SafeConfigParser.write(self, f)
def remove_values(self, to_remove):
"""Remove values from configuration file specified in arguments.