fix TypeError
[plstackapi.git] / plstackapi / core / api / slices.py
index 7ebeb1e..3f50050 100644 (file)
@@ -2,7 +2,7 @@ import re
 from plstackapi.openstack.client import OpenStackClient
 from plstackapi.openstack.driver import OpenStackDriver
 from plstackapi.core.api.auth import auth_check
-from plstackapi.core.models import Site
+from plstackapi.core.models import Slice, Site
  
 def validate_name(name):
     # N.B.: Responsibility of the caller to ensure that login_base
@@ -22,7 +22,7 @@ def lookup_site(fields):
     site = None
     if 'name' in fields:
         validate_name(fields['name'])
-        login_base = fields['name'][:fields['name'].find('@')]        
+        login_base = fields['name'][:fields['name'].find('_')]        
         sites = Site.objects.filter(login_base=login_base)
         if sites:
             site = sites[0]
@@ -33,8 +33,6 @@ def lookup_site(fields):
             sites = Site.objects.filter(login_base=fields['site'])
         if sites:
             site = sites[0]     
-    if not site:
-        raise Exception, "No such site: %s" % login_base
     return site 
 
 def add_slice(auth, fields):
@@ -50,12 +48,12 @@ def add_slice(auth, fields):
     slice.tenant_id=tenant.id
     
     # create network
-    network = driver.create_network(name=self.name)
-    self.network_id = network['id']
+    network = driver.create_network(slice.name)
+    slice.network_id = network['id']
 
     # create router
-    router = driver.create_router(name=self.name)
-    self.router_id = router['id']    
+    router = driver.create_router(slice.name)
+    slice.router_id = router['id']    
 
     slice.save()
     return slice
@@ -94,7 +92,8 @@ def delete_slice(auth, filter={}):
 
 def get_slices(auth, filter={}):
     client = auth_check(auth)
-    site = lookup_site(filter)
+    if 'site' in filter:
+         site = lookup_site(filter)
     if site: filter['site'] = site
     slices = Slice.objects.filter(**filter)
     return slices