huge cleanup for removing mutables used as default
[sfa.git] / sfa / dummy / dummy_testbed_api.py
index f40a853..f553e40 100644 (file)
@@ -12,7 +12,12 @@ for i in range(1,11):
 
 slices_list = []
 for i in range(1,3):
-    slice = {'slice_name': 'slice'+str(i), 'user_ids': range(i,4,2), 'slice_id': i, 'node_ids': range(i,10,2), 'enabled': True, 'expires': int(time.time())+60*60*24*30}
+    slice = {'slice_name': 'slice'+str(i), 
+             'user_ids': range(i,4,2), 
+             'slice_id': i, 
+             'node_ids': range(i,10,2),
+             'enabled': True,
+             'expires': int(time.time())+60*60*24*30}
     slices_list.append(slice)
 
 users_list = []
@@ -29,9 +34,12 @@ def FilterList(myfilter, mylist):
     result.extend(mylist)
     for item in mylist:
          for key in myfilter.keys():
-             if myfilter[key] != item[key]:
-                result.remove(item)
-                break
+             if 'ids' in key:
+                 pass
+             else:
+                 if isinstance(myfilter[key], str) and myfilter[key] != item[key] or isinstance(myfilter[key], list) and item[key] not in myfilter[key]:
+                     result.remove(item)
+                     break
     return result
 
 
@@ -40,7 +48,8 @@ def FilterList(myfilter, mylist):
 def GetTestbedInfo():
     return {'name': 'dummy', 'longitude': 123456, 'latitude': 654321, 'domain':'dummy-testbed.org'}
 
-def GetNodes(filter={}):
+def GetNodes(filter=None):
+    if filter is None: filter={}
     global DB
     result = []
     result.extend(DB['nodes_list'])
@@ -52,7 +61,8 @@ def GetNodes(filter={}):
         result = FilterList(filter, result)
     return result
 
-def GetSlices(filter={}):
+def GetSlices(filter=None):
+    if filter is None: filter={}
     global DB
     result = []
     result.extend(DB['slices_list'])
@@ -66,7 +76,8 @@ def GetSlices(filter={}):
     return result
 
 
-def GetUsers(filter={}):
+def GetUsers(filter=None):
+    if filter is None: filter={}
     global DB
     result = []
     result.extend(DB['users_list'])
@@ -132,7 +143,10 @@ def AddUserKey(param):
     try:
         for user in DB['users_list']:
              if param['user_id'] == user['user_id']:
-                 user['keys'].append(param['key'])
+                 if 'keys' in user.keys():
+                     user['keys'].append(param['key'])
+                 else:
+                    user['keys'] = [param['key']] 
                  return True
         return False
     except: