fix the configparser for Python 2 and 3 Compatibility
[doctor.git] / doctor_tests / installer / common / set_congress.py
index d843870..7961df3 100644 (file)
@@ -6,25 +6,29 @@
 # which accompanies this distribution, and is available at
 # http://www.apache.org/licenses/LICENSE-2.0
 ##############################################################################
-import configparser
+from six.moves import configparser
+import os
 import shutil
 
 
 def set_drivers_config():
-    co_conf = "/etc/congress/congress.conf"
-    co_conf_bak = "/etc/congress/congress.conf.bak"
+    co_base = "/var/lib/config-data/puppet-generated/congress"
+    if not os.path.isdir(co_base):
+        co_base = ""
+    co_conf = co_base + "/etc/congress/congress.conf"
+    co_conf_bak = co_base + "/etc/congress/congress.conf.bak"
     doctor_driver = "congress.datasources.doctor_driver.DoctorDriver"
     config_modified = False
 
     config = configparser.ConfigParser()
     config.read(co_conf)
-    drivers = config['DEFAULT']['drivers']
+    drivers = config.get('DEFAULT', 'drivers')
 
     if doctor_driver not in drivers:
         config_modified = True
         drivers += ',' + doctor_driver
 
-    config['DEFAULT']['drivers'] = drivers
+    config.set('DEFAULT', 'drivers', drivers)
 
     if config_modified:
         shutil.copyfile(co_conf, co_conf_bak)