Merge branch 'tmp-pdf'
[sfa.git] / sfa / openstack / osxrn.py
1 import re
2 from sfa.util.xrn import Xrn
3 from sfa.util.config import Config
4
5 def hrn_to_os_slicename(hrn):
6     return OSXrn(xrn=hrn, type='slice').get_slicename()        
7
8 class OSXrn(Xrn):
9
10     def __init__(self, name=None, type=None, **kwds):
11         
12         config = Config()
13         if name is not None:
14             self.type = type
15             self.hrn = config.SFA_INTERFACE_HRN + "." + name
16             self.hrn_to_urn()
17         else:
18             Xrn.__init__(self, **kwds)   
19          
20         self.name = self.get_name() 
21     
22     def get_name(self):
23         self._normalize()
24         leaf = self.leaf
25         sliver_id_parts = leaf.split(':')
26         name = sliver_id_parts[0]
27         name = re.sub('[^a-zA-Z0-9_]', '', name)
28         return name
29
30
31     def get_slicename(self):
32         self._normalize()
33         slicename = self.hrn
34         slicename = slicename.split(':')[0]
35         slicename = re.sub('[\.]', '_', slicename)
36         return slicename
37         
38