1e6f6bbf5013c6b350cbb40ed5675bd274541dee
[sfa.git] / geni / util / misc.py
1 ### $Id$
2 ### $URL$
3
4 from faults import *
5
6 def get_leaf(hrn):
7     parts = hrn.split(".")
8     return ".".join(parts[-1:])
9
10 def get_authority(hrn):
11     
12     parts = hrn.split(".")
13     return ".".join(parts[:-1])
14
15 def hrn_to_pl_slicename(hrn):
16     parts = hrn.split(".")
17     return parts[-2] + "_" + parts[-1]
18
19 # assuming hrn is the hrn of an authority, return the plc authority name
20 def hrn_to_pl_authname(hrn):
21     parts = hrn.split(".")
22     return parts[-1]
23
24 # assuming hrn is the hrn of an authority, return the plc login_base
25 def hrn_to_pl_login_base(hrn):
26     return hrn_to_pl_authname(hrn)
27
28 def hostname_to_hrn(auth_hrn, login_base, hostname):
29     """
30     Convert hrn to plantelab name.
31     """
32     genihostname = "_".join(hostname.split("."))
33     return ".".join([auth_hrn, login_base, genihostname])
34
35 def slicename_to_hrn(auth_hrn, slicename):
36     """
37     Convert hrn to planetlab name.
38     """
39     parts = slicename.split("_")
40     slice_hrn = ".".join([auth_hrn, parts[0]]) + "." + "_".join(parts[1:])
41
42     return slice_hrn
43