X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=config%2Fsfa-config-tty;h=0b708e2d7c64d5c395d7e42943d4967d5b60a837;hb=7ee4051001a4d1fa7d2cbd35effda5f45067f2c7;hp=26f489260d05f4cce85ac7539e391096f4556312;hpb=0c228ba1165cda76d90c9c8cc2218a240e10c028;p=sfa.git diff --git a/config/sfa-config-tty b/config/sfa-config-tty index 26f48926..0b708e2d 100755 --- a/config/sfa-config-tty +++ b/config/sfa-config-tty @@ -1,4 +1,4 @@ -#!/bin/env python +#!/usr/bin/env python import os import sys @@ -9,6 +9,8 @@ import types import readline from StringIO import StringIO from optparse import OptionParser + +from sfa.util.version import version_tag from sfa.util.config import Config def validator(validated_variables): @@ -44,10 +46,6 @@ configuration={ \ # GLOBAL VARIABLES # -release_id = "$Id$" -release_rev = "$Revision$" -release_url = "$URL$" - g_configuration=None usual_variables=None config_dir=None @@ -155,8 +153,8 @@ def print_name_comments (config, cid, vid): #################### def list_categories (config): result=[] - for (category_id, (category, variables)) in config.variables().iteritems(): - result += [category_id] + for section in config.sections(): + result += [section] return result def print_categories (config): @@ -167,10 +165,10 @@ def print_categories (config): #################### def list_category (config, cid): result=[] - for (category_id, (category, variables)) in config.variables().iteritems(): - if (cid == category_id): - for variable in variables.values(): - result += ["%s_%s" %(cid,variable['id'])] + for section in config.sections(): + if section == cid.lower(): + for (name,value) in config.items(section): + result += ["%s_%s" %(cid,name)] return result def print_category (config, cid, show_comments=True): @@ -258,6 +256,7 @@ def prompt_variable (cdef, cread, cwrite, category, variable, else: if cdef.validate_type(variable_type, answer): cwrite.set(category_id, variable_id, answer) + return else: print "Not a valid value" @@ -462,7 +461,7 @@ def check_dir (config_file): #################### def optParserSetup(configuration): - parser = OptionParser(usage=usage(), version="%prog " + release_rev + release_url ) + parser = OptionParser(usage=usage(), version="%prog " + version_tag ) parser.set_defaults(config_dir=configuration['config_dir'], service=configuration['service'], usual_variables=configuration['usual_variables']) @@ -515,15 +514,10 @@ def main(command,argv,configuration): # 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()