initial checkin
authorTony Mack <tmack@cs.princeton.edu>
Sun, 3 Jan 2010 20:56:17 +0000 (20:56 +0000)
committerTony Mack <tmack@cs.princeton.edu>
Sun, 3 Jan 2010 20:56:17 +0000 (20:56 +0000)
sfa/util/namespace.py [new file with mode: 0644]

diff --git a/sfa/util/namespace.py b/sfa/util/namespace.py
new file mode 100644 (file)
index 0000000..edd026a
--- /dev/null
@@ -0,0 +1,49 @@
+### $Id: namespace.py 15020 2009-09-14 23:11:37Z tmack $
+### $URL: https://svn.planet-lab.org/svn/sfa/trunk/sfa/util/namespace.py $
+
+from sfa.util.faults import *
+
+def get_leaf(hrn):
+    parts = hrn.split(".")
+    return ".".join(parts[-1:])
+
+def get_authority(hrn):
+    parts = hrn.split(".")
+    return ".".join(parts[:-1])
+
+def hrn_to_pl_slicename(hrn):
+    parts = hrn.split(".")
+    return parts[-2] + "_" + parts[-1]
+
+# assuming hrn is the hrn of an authority, return the plc authority name
+def hrn_to_pl_authname(hrn):
+    parts = hrn.split(".")
+    return parts[-1]
+
+# assuming hrn is the hrn of an authority, return the plc login_base
+def hrn_to_pl_login_base(hrn):
+    return hrn_to_pl_authname(hrn)
+
+def hostname_to_hrn(auth_hrn, login_base, hostname):
+    """
+    Convert hrn to plantelab name.
+    """
+    genihostname = ".".join([auth_hrn, login_base, hostname.split(".")[0]])
+    return genihostname
+
+def slicename_to_hrn(auth_hrn, slicename):
+    """
+    Convert hrn to planetlab name.
+    """
+    parts = slicename.split("_")
+    slice_hrn = ".".join([auth_hrn, parts[0]]) + "." + "_".join(parts[1:])
+
+    return slice_hrn
+
+def email_to_hrn(auth_hrn, email):
+    parts = email.split("@")
+    username = parts[0]
+    username = username.replace(".", "_") 
+    person_hrn = ".".join([auth_hrn, username])
+    
+    return person_hrn