X-Git-Url: http://git.onelab.eu/?p=sfa.git;a=blobdiff_plain;f=sfa%2Futil%2Fnamespace.py;h=45ce06a751012ea18d6d4ae8a977d7f92e9ca713;hp=e3a7536f3f786cf0ddbefb8b0bcc8edcad649ea0;hb=952322d76247f8991f3c2688ed7e1f5a22ca4572;hpb=43b44e012032d6a63d38bdf98caa25988fc27933 diff --git a/sfa/util/namespace.py b/sfa/util/namespace.py index e3a7536f..45ce06a7 100644 --- a/sfa/util/namespace.py +++ b/sfa/util/namespace.py @@ -9,7 +9,11 @@ def get_leaf(hrn): parts = hrn.split(".") return ".".join(parts[-1:]) -def get_authority(hrn): +def get_authority(xrn): + hrn, type = urn_to_hrn(xrn) + if type and type == 'authority': + return hrn + parts = hrn.split(".") return ".".join(parts[:-1]) @@ -85,7 +89,14 @@ def hrn_to_urn(hrn, type=None): authority = get_authority(hrn) name = get_leaf(hrn) - urn = "+".join([unicode(part).replace('.', ':') \ - for part in ['',authority,type,name]]) - + + if authority.startswith("plc"): + if type == None: + urn = "+".join(['',authority.replace('.',':'),name]) + else: + urn = "+".join(['',authority.replace('.',':'),type,name]) + + else: + urn = "+".join(['',authority,type,name]) + return URN_PREFIX + urn