really fixed the redundant logging issue this time.
[sfa.git] / sfa / trust / credential.py
index 774690b..3e1fbcc 100644 (file)
 # Credentials are signed XML files that assign a subject gid privileges to an object gid
 ##
 
-### $Id$
-### $URL$
-
 import os
 import datetime
 from tempfile import mkstemp
+import dateutil.parser
+from StringIO import StringIO 
 from xml.dom.minidom import Document, parseString
-from dateutil.parser import parse
 from lxml import etree
-from StringIO import StringIO 
+
 from sfa.util.faults import *
-from sfa.util.sfalogging import sfa_logger
+from sfa.util.sfalogging import logger
 from sfa.trust.certificate import Keypair
 from sfa.trust.credential_legacy import CredentialLegacy
 from sfa.trust.rights import Right, Rights
@@ -83,7 +81,7 @@ signature_template = \
 # Convert a string into a bool
 
 def str2bool(str):
-    if str.lower() in ['yes','true','1']:
+    if str.lower() in ['true','1']:
         return True
     return False
 
@@ -585,7 +583,7 @@ class Credential(object):
         
 
         self.set_refid(cred.getAttribute("xml:id"))
-        self.set_expiration(parse(getTextNode(cred, "expires")))
+        self.set_expiration(dateutil.parser.parse(getTextNode(cred, "expires")))
         self.gidCaller = GID(string=getTextNode(cred, "owner_gid"))
         self.gidObject = GID(string=getTextNode(cred, "target_gid"))   
 
@@ -677,7 +675,7 @@ class Credential(object):
                 trusted_cert_objects.append(GID(filename=f))
                 ok_trusted_certs.append(f)
             except Exception, exc:
-                sfa_logger().error("Failed to load trusted cert from %s: %r"%( f, exc))
+                logger.error("Failed to load trusted cert from %s: %r"%( f, exc))
         trusted_certs = ok_trusted_certs
 
         # Use legacy verification if this is a legacy credential
@@ -761,7 +759,7 @@ class Credential(object):
         # Maybe should be (hrn, type) = urn_to_hrn(root_cred_signer.get_urn())
         root_cred_signer_type = root_cred_signer.get_type()
         if (root_cred_signer_type == 'authority'):
-            #sfa_logger().debug('Cred signer is an authority')
+            #logger.debug('Cred signer is an authority')
             # signer is an authority, see if target is in authority's domain
             hrn = root_cred_signer.get_hrn()
             if root_target_gid.get_hrn().startswith(hrn):
@@ -861,13 +859,18 @@ class Credential(object):
             result += "  gidCaller:\n"
             result += gidCaller.dump_string(8, dump_parents)
 
+        if self.get_signature():
+            print "  gidIssuer:"
+            self.get_signature().get_issuer_gid().dump(8, dump_parents)
+
         gidObject = self.get_gid_object()
         if gidObject:
             result += "  gidObject:\n"
             result += gidObject.dump_string(8, dump_parents)
 
         if self.parent and dump_parents:
-            result += "PARENT"
-            result += self.parent.dump_string(dump_parents)
+            result += "\nPARENT"
+            result += self.parent.dump(True)
+
         return result