add more usual settings
[sfa.git] / geni-config-tty
index 6248211..dae6c6a 100755 (executable)
@@ -16,7 +16,7 @@ import os
 import re
 import readline
 import traceback
-import distutils
+import distutils.file_util
 from optparse import OptionParser
 
 from geni.util.config import Config
@@ -24,7 +24,7 @@ from geni.util.hierarchy import *
 from geni.util.misc import *
 
 
-usual_variables = ["GENI_REGISTRY_ROOT_AUTH",
+all_variables   = ["GENI_REGISTRY_ROOT_AUTH",
                    "GENI_REGISTRY_LEVEL1_AUTH",
                    "GENI_REGISTRY_ENABLED",
                    "GENI_REGISTRY_HOST", 
@@ -41,6 +41,11 @@ usual_variables = ["GENI_REGISTRY_ROOT_AUTH",
                    "GENI_PLC_PORT",
                    "GENI_PLC_API_PATH"
                    ]
+usual_variables = ["GENI_REGISTRY_ROOT_AUTH",
+                   "GENI_REGISTRY_LEVEL1_AUTH",
+                   "GENI_PLC_USER",
+                   "GENI_PLC_PASSWORD",    
+                   ]
 
 
 mainloop_usage= """Available commands:
@@ -72,12 +77,12 @@ def save_config(changes, config_file):
     
     cfile = open(config_file, 'r')
     lines = cfile.readlines()
-    newlines = []
     cfile.close()
+    newlines = []
     for line in lines:
         added = False
         for variable in changes:
-            if line.startswith(variable):
+            if line.startswith(variable+'='):
                 try:
                     value = int(changes[variable])
                     newline = '%s=%s\n' % (variable, value)
@@ -94,12 +99,13 @@ def save_config(changes, config_file):
     cfile = open(config_file, 'w')
     cfile.writelines(newlines)
     cfile.close()
+    print 'updated config file',config_file
 
 def validate(changes):
     defaults = get_defaults()
     
     if not changes:
-        return
+        return {}
 
     # GENI_INTERFACE_HRN is GENI_REGISTRY_LEVEL1_AUTH, if thats blank it
     # then defaults to GENI_REGISTRY_ROOT_AUTH 
@@ -113,7 +119,7 @@ def validate(changes):
     if 'GENI_REGISTRY_LEVEL1_AUTH' in changes:
         level1_auth = changes['GENI_REGISTRY_LEVEL1_AUTH']
     else:
-        level1_auth = default['GENI_REGISTRY_LEVEL1_AUTH']
+        level1_auth = defaults['GENI_REGISTRY_LEVEL1_AUTH']
                 
     if level1_auth:
         interface_hrn = level1_auth
@@ -197,7 +203,7 @@ def mainloop (default_config, config_file):
             print "help"  
 
         if (answer in ["q","Q"]):
-            return
+            break
         elif (answer == "w"):
             save_config(changes, config_file)
         elif (answer == "u"):
@@ -227,14 +233,13 @@ def mainloop (default_config, config_file):
             print ("Unknown command >%s< -- use h for help" % answer)
 
     result = {}
-    result.update(defaults)
+    result.update(default_config)
     result.update(changes)
     return result
     
 def setup_server_key(config_dict):
     hrn = config_dict.get('GENI_INTERFACE_HRN')
-    print "updating server key ...", 
-    if not hrn: print "nothing to do"
+    if not hrn: return
    
     # Get the path to the authorities directory hierarchy
     hierarchy = Hierarchy()
@@ -247,7 +252,7 @@ def setup_server_key(config_dict):
     hrn_leaf = get_leaf(hrn)
     if not hrn_leaf:
         hrn_leaf = hrn
-    new_server_key = os.sep.join([path, auth_path, hrn_leaf])
+    new_server_key = os.sep.join([path, auth_path, hrn_leaf]) + ".pkey"
     old_server_key = os.sep.join([path, key])
     old_server_cert = os.sep.join([path, cert])
 
@@ -258,7 +263,7 @@ def setup_server_key(config_dict):
 
     # create new server.key
     distutils.file_util.copy_file(src=new_server_key, dst=old_server_key, verbose=1)
-    print "%(old_server_key)s copied from %(new_server_key)s" % locals()
+    print "\t\t%(old_server_key)s\ncopied from\t%(new_server_key)s" % locals()