delegate_cred comes from self
[sfa.git] / sfa / client / sfi.py
index 0537aaa..f298d75 100755 (executable)
@@ -132,6 +132,7 @@ class Sfi:
                   "update": "record",
                   "aggregates": "[name]",
                   "registries": "[name]",
+                  "get_gid": [],  
                   "get_trusted_certs": "cred",
                   "slices": "",
                   "resources": "[name]",
@@ -361,7 +362,18 @@ class Sfi:
             gid = GID(filename=file)
         return gid
 
-    def get_gid(self, hrn):
+    def get_gid(self, opts, args):
+        hrn = None
+        if args:
+            hrn = args[0]
+        gid = self._get_gid(hrn)
+        print gid.save_to_string(save_parents=True)
+        return gid
+
+    def _get_gid(self, hrn=None):
+        if not hrn:
+            hrn = self.user
         gidfile = os.path.join(self.options.sfi_dir, hrn + ".gid")
         gid = self.get_cached_gid(gidfile)
         if not gid:
@@ -569,7 +581,7 @@ class Sfi:
         delegee_hrn = args[0]
         if opts.delegate_user:
             user_cred = self.get_user_cred()
-            cred = delegate_cred(user_cred, delegee_hrn)
+            cred = self.delegate_cred(user_cred, delegee_hrn)
         elif opts.delegate_slice:
             slice_cred = self.get_slice_cred(opts.delegate_slice)
             cred = self.delegate_cred(slice_cred, delegee_hrn)
@@ -601,7 +613,7 @@ class Sfi:
             return
     
         # the gid of the user who will be delegated to
-        delegee_gid = self.get_gid(hrn)
+        delegee_gid = self._get_gid(hrn)
         delegee_hrn = delegee_gid.get_hrn()
         delegee_gidfile = os.path.join(self.options.sfi_dir, delegee_hrn + ".gid")
         delegee_gid.save_to_file(filename=delegee_gidfile)