fix bug in urn_to_hrn()
[sfa.git] / sfa / util / namespace.py
index e898f3c..f53808c 100644 (file)
@@ -65,9 +65,11 @@ def urn_to_hrn(urn):
 
     name = urn[len(URN_PREFIX):]
     hrn_parts = name.split("+")
-    
-    # type is always the second to last element in the list
-    type = hrn_parts.pop(-2)
+    type = hrn_parts.pop(2)
+
+    # Remove the authority name (e.g. '.sa')
+    if type == 'authority':
+        hrn_parts = hrn_parts[:-1]
 
     # convert hrn_parts (list) into hrn (str) by doing the following    
     # remove blank elements
@@ -75,9 +77,6 @@ def urn_to_hrn(urn):
     # join list elements using '.'
     hrn = '.'.join([part.replace(':', '.') for part in hrn_parts if part]) 
     
-    if type == 'authority':
-        hrn = hrn.replace ('.sa', '')
-   
     return str(hrn), str(type)