From b3c27e670ac9ea94c6379d8f11b0e202745b911b Mon Sep 17 00:00:00 2001 From: Josh Karlin Date: Tue, 13 Apr 2010 18:00:52 +0000 Subject: [PATCH] credentials pass schema check --- sfa/trust/credential.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/sfa/trust/credential.py b/sfa/trust/credential.py index 68fdca9b..dbce326c 100644 --- a/sfa/trust/credential.py +++ b/sfa/trust/credential.py @@ -23,6 +23,11 @@ from sfa.util.sfalogging import logger from lxml import etree +def str2bool(str): + if str.lower() in ['yes','true','1']: + return True + return False + # Two years, in minutes DEFAULT_CREDENTIAL_LIFETIME = 1051200 @@ -347,7 +352,7 @@ class Credential(object): for right in rights.rights: priv = doc.createElement("privilege") self.append_sub(doc, priv, "name", right.kind) - self.append_sub(doc, priv, "can_delegate", str(right.delegate)) + self.append_sub(doc, priv, "can_delegate", str(right.delegate).lower()) privileges.appendChild(priv) # Add the parent credential if it exists @@ -531,7 +536,7 @@ class Credential(object): rlist = RightList() for priv in privs.getElementsByTagName("privilege"): kind = getTextNode(priv, "name") - deleg = bool(getTextNode(priv, "can_delegate")) + deleg = str2bool(getTextNode(priv, "can_delegate")) rlist.add(Right(kind.strip(), deleg)) self.set_privileges(rlist) -- 2.47.0