# local settings only, will be modified & saved
config_filename = "%s/sfa_config" % config.config_dir
- try:
- cwrite=Config(config_filename)
- except ConfigParser.MissingSectionHeaderError:
- # remove legacy config
- os.unlink(config_filename)
- cwrite=Config(config_filename)
-
+ cwrite=Config(config_filename)
try:
cread.load(site_config)
+ cwrite.load(default_config)
cwrite.load(site_config)
except:
cwrite = Config()
import codecs
import pickle
import json
+import shutil
from lxml import etree
from StringIO import StringIO
from optparse import OptionParser
return
- def upgrade_config(self, config_file):
- """
- upgrade from shell to ini format
- """
- fp, fn = mkstemp(suffix='sfi_config', text=True)
- try:
- tmp_config = Config(fn)
- tmp_config.add_section('sfi')
- tmp_config.add_section('sface')
- tmp_config.load(config_file)
- tmp_config.save(config_file)
- except:
- raise
- finally:
- os.unlink(fn)
-
-
####################
def read_config(self):
config_file = os.path.join(self.options.sfi_dir,"sfi_config")
+ shell_config_file = os.path.join(self.options.sfi_dir,"sfi_config.sh")
try:
if Config.is_ini(config_file):
config = Config (config_file)
else:
# try upgrading from shell config format
- self.upgrade_config(config_file)
- config = Config(config_file)
+ fp, fn = mkstemp(suffix='sfi_config', text=True)
+ config = Config(fn)
+ # we need to preload the sections we want parsed
+ # from the shell config
+ config.add_section('sfi')
+ config.add_section('sface')
+ config.load(config_file)
+ # back up old config
+ shutil.move(config_file, shell_config_file)
+ # write new config
+ config.save(config_file)
except:
self.logger.critical("Failed to read configuration file %s"%config_file)