fix tabs?
[sfa.git] / geni / util / hierarchy.py
index cbaa699..03d7146 100644 (file)
@@ -74,20 +74,20 @@ class AuthInfo():
 
     def get_dbinfo(self):
         f = file(self.dbinfo_filename)
-        dict = eval(f.read())\r
-        f.close()\r
-        return dict\r
-\r
+        dict = eval(f.read())
+        f.close()
+        return dict
+
     ##\r
     # Replace the GID with a new one. The file specified by gid_filename is\r
     # overwritten with the new GID object\r
     #\r
     # @param gid object containing new GID\r
-\r
-    def update_gid_object(self, gid):\r
-        gid.save_to_file(self.gid_filename)\r
-        self.gid_object = gid\r
-\r
+
+    def update_gid_object(self, gid):
+        gid.save_to_file(self.gid_filename)
+        self.gid_object = gid
+
 ##\r
 # The Hierarchy class is responsible for managing the tree of authorities.\r
 # Each authority is a node in the tree and exists as an AuthInfo object.\r
@@ -166,8 +166,12 @@ class Hierarchy():
             if errno == 17:\r
                 pass
 
-        pkey = Keypair(create = True)
-        pkey.save_to_file(privkey_filename)
+        if os.path.exists(privkey_filename):
+            print "using existing key", privkey_filename, "for authority", hrn
+            pkey = Keypair(filename = privkey_filename)
+        else:
+            pkey = Keypair(create = True)
+            pkey.save_to_file(privkey_filename)
 
         gid = self.create_gid(hrn, create_uuid(), pkey)
         gid.save_to_file(gid_filename, save_parents=True)
@@ -188,7 +192,7 @@ class Hierarchy():
 
     def get_auth_info(self, hrn):
         #report.trace("Hierarchy: getting authority: " + hrn)
-    
+   
         if not self.auth_exists(hrn):
             raise MissingAuthority(hrn)