From 27bb1bc91017a36976dcdb0c26894fcda0696345 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bar=C4=B1=C5=9F=20Metin?= Date: Mon, 18 Oct 2010 16:46:49 +0200 Subject: [PATCH] simpler and hopefully less error-prone way to init Xrn --- sfa/util/xrn.py | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/sfa/util/xrn.py b/sfa/util/xrn.py index 86a1f863..c00dcef4 100644 --- a/sfa/util/xrn.py +++ b/sfa/util/xrn.py @@ -56,23 +56,22 @@ class Xrn: # provide either urn, or (hrn + type) def __init__ (self, xrn=None, urn=None, hrn=None, type=None): - if xrn: - if xrn.startswith(Xrn.URN_PREFIX): - self.urn=xrn - self.urn_to_hrn() + if not xrn: + if urn: + xrn = urn + elif hrn: + xrn = hrn else: - self.hrn=xrn - self.type=type - self.hrn_to_urn() - elif urn: - self.urn=urn + raise SfaAPIError,"Xrn.__init__" + + if xrn.startswith(Xrn.URN_PREFIX): + self.urn=xrn self.urn_to_hrn() - elif hrn and type: - self.hrn=hrn + else: + self.hrn=xrn self.type=type self.hrn_to_urn() - else: - raise SfaAPIError,"Xrn.__init__" + if not type: sfa_logger().debug("type-less Xrn's are not safe") -- 2.43.0