huge cleanup for removing mutables used as default
[sfa.git] / sfa / planetlab / plslices.py
index 68ea2aa..1226f12 100644 (file)
@@ -322,21 +322,23 @@ class PlSlices:
                         
         
 
-    def verify_site(self, slice_xrn, slice_record={}, sfa_peer=None, options={}):
-        #(slice_hrn, type) = urn_to_hrn(slice_xrn)
-        #top_auth_hrn = top_auth(slice_hrn)
-        #site_hrn = '.'.join(slice_hrn.split('.')[:-1])
-        #if top_auth_hrn == self.driver.hrn:
-        #    login_base = slice_hrn.split('.')[-2][:12]
-        #else:
-        #    login_base = hash_loginbase(site_hrn)
-        plxrn = PlXrn(xrn=slice_xrn)
-        slice_hrn = plxrn.get_hrn()
-        type = plxrn.get_type()
-        site_hrn = plxrn.get_authority_hrn()
-        authority_name = plxrn.pl_authname()
-        slicename = plxrn.pl_slicename()
-        login_base = plxrn.pl_login_base()
+    def verify_site(self, slice_xrn, slice_record=None, sfa_peer=None, options=None):
+        if slice_record is None: slice_record={}
+        if options is None: options={}
+        (slice_hrn, type) = urn_to_hrn(slice_xrn)
+        top_auth_hrn = top_auth(slice_hrn)
+        site_hrn = '.'.join(slice_hrn.split('.')[:-1])
+        if top_auth_hrn == self.driver.hrn:
+            login_base = slice_hrn.split('.')[-2][:12]
+        else:
+            login_base = hash_loginbase(site_hrn)
+        #plxrn = PlXrn(xrn=slice_xrn)
+        #slice_hrn = plxrn.get_hrn()
+        #type = plxrn.get_type()
+        #site_hrn = plxrn.get_authority_hrn()
+        #authority_name = plxrn.pl_authname()
+        #slicename = plxrn.pl_slicename()
+        #login_base = plxrn.pl_login_base()
 
         sites = self.driver.shell.GetSites({'peer_id': None},['site_id','name','abbreviated_name','login_base','hrn'])
 
@@ -367,22 +369,23 @@ class PlSlices:
         return site
 
 
-    def verify_slice(self, slice_hrn, slice_record, sfa_peer, expiration, options={}):
-        #top_auth_hrn = top_auth(slice_hrn)
-        #site_hrn = '.'.join(slice_hrn.split('.')[:-1])
-        #slice_part = slice_hrn.split('.')[-1]
-        #if top_auth_hrn == self.driver.hrn:
-        #    login_base = slice_hrn.split('.')[-2][:12]
-        #else:
-        #    login_base = hash_loginbase(site_hrn)
-        #slice_name = '_'.join([login_base, slice_part])
-        plxrn = PlXrn(xrn=slice_xrn)
-        slice_hrn = plxrn.get_hrn()
-        type = plxrn.get_type()
-        site_hrn = plxrn.get_authority_hrn()
-        authority_name = plxrn.pl_authname()
-        slicename = plxrn.pl_slicename()
-        login_base = plxrn.pl_login_base()
+    def verify_slice(self, slice_hrn, slice_record, sfa_peer, expiration, options=None):
+        if options is None: options={}
+        top_auth_hrn = top_auth(slice_hrn)
+        site_hrn = '.'.join(slice_hrn.split('.')[:-1])
+        slice_part = slice_hrn.split('.')[-1]
+        if top_auth_hrn == self.driver.hrn:
+            login_base = slice_hrn.split('.')[-2][:12]
+        else:
+            login_base = hash_loginbase(site_hrn)
+        slice_name = '_'.join([login_base, slice_part])
+        #plxrn = PlXrn(xrn=slice_hrn)
+        #slice_hrn = plxrn.get_hrn()
+        #type = plxrn.get_type()
+        #site_hrn = plxrn.get_authority_hrn()
+        #authority_name = plxrn.pl_authname()
+        #slicename = plxrn.pl_slicename()
+        #login_base = plxrn.pl_login_base()
 
         slices = self.driver.shell.GetSlices({'peer_id': None},['slice_id','name','hrn'])
         # Filter slices by HRN
@@ -416,7 +419,8 @@ class PlSlices:
         return self.driver.shell.GetSlices(int(slice['slice_id']))[0]
 
 
-    def verify_persons(self, slice_hrn, slice_record, users, sfa_peer, options={}):
+    def verify_persons(self, slice_hrn, slice_record, users, sfa_peer, options=None):
+        if options is None: options={}
         top_auth_hrn = top_auth(slice_hrn)
         site_hrn = '.'.join(slice_hrn.split('.')[:-1])
         slice_part = slice_hrn.split('.')[-1]
@@ -504,7 +508,8 @@ class PlSlices:
         return persons_to_add
 
 
-    def verify_keys(self, persons_to_verify_keys, options={}):
+    def verify_keys(self, persons_to_verify_keys, options=None):
+        if options is None: options={}
         # we only add keys that comes from sfa to persons in PL
         for person_id in persons_to_verify_keys:
              person_sfa_keys = persons_to_verify_keys[person_id].get('keys', [])
@@ -518,7 +523,8 @@ class PlSlices:
                   self.driver.shell.AddPersonKey(int(person_id), key)
 
 
-    def verify_slice_attributes(self, slice, requested_slice_attributes, options={}, admin=False):
+    def verify_slice_attributes(self, slice, requested_slice_attributes, options=None, admin=False):
+        if options is None: options={}
         append = options.get('append', True)
         # get list of attributes users ar able to manage
         filter = {'category': '*slice*'}