self.hrn=xrn\r
self.type=type\r
self.hrn_to_urn()\r
+ self._normalize()\r
# happens all the time ..\r
# if not type:\r
# debug_logger.debug("type-less Xrn's are not safe")\r
self._normalize()\r
return ':'.join( [Xrn.unescape(x) for x in self.authority] )\r
\r
- def get_sliver_id(self, slice_id, node_id, index=0, authority=None):\r
+ def get_sliver_id(self, slice_id, node_id=None, index=0, authority=None):\r
self._normalize()\r
urn = self.get_urn()\r
if authority:\r
else:\r
hrn = ".".join([authority_hrn, self.get_leaf()])\r
urn = Xrn(hrn, self.get_type()).get_urn()\r
- return ":".join(map(str, [urn, slice_id, node_id, index]))\r
+ parts = [part for part in [urn, slice_id, node_id, index] if part is not None]\r
+ return ":".join(map(str, [parts]))\r
\r
def urn_to_hrn(self):\r
"""\r