From 5672d5f4d79054e274005b0dbe930bd348e6cf47 Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Wed, 18 Jul 2012 10:56:56 -0400 Subject: [PATCH 1/1] backup old config before upgrading --- sfa/client/sfi.py | 32 +++++++++++++------------------- 1 file changed, 13 insertions(+), 19 deletions(-) diff --git a/sfa/client/sfi.py b/sfa/client/sfi.py index 792c404f..e29cbe1f 100644 --- a/sfa/client/sfi.py +++ b/sfa/client/sfi.py @@ -13,6 +13,7 @@ import datetime import codecs import pickle import json +import shutil from lxml import etree from StringIO import StringIO from optparse import OptionParser @@ -528,33 +529,26 @@ class Sfi: 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) -- 2.43.0