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