implement DeleteRole()
[plcapi.git] / PLC / Roles.py
index 365c66f..dde6bbf 100644 (file)
@@ -1,7 +1,7 @@
 from types import StringTypes
 from PLC.Faults import *
 from PLC.Parameter import Parameter
-from PLC.NovaObject import NovaObject
+from PLC.NovaObject import NovaObject, NovaObjects
 
 class Role:
     """
@@ -14,14 +14,15 @@ class Role:
         'name': Parameter(str, "Role", max = 100),
         }
 
-class Roles(list):
+class Roles(NovaObjects):
+    fields = Role.fields
 
     def __init__(self, api, role_filter={}):
         self.api  = api
         if not role_filter:
             roles = self.api.client_shell.keystone.roles.findall()
         elif isinstance(role_filter, StringTypes):
-            [roles] = self.api.client_shell.keystone.roles.find(id=role_filter) 
+            roles = [self.api.client_shell.keystone.roles.find(id=role_filter)] 
         elif isinstance(role_filter, (list, tuple, set)):
             roles = self.api.client_shell.keystone.roles.findall()
             roles = [role for role in roles if role.id in rile_filter]
@@ -29,4 +30,6 @@ class Roles(list):
             raise PLCInvalidArgument, "Wrong role filter %r"%role_filter
 
         for role in roles:
-            self.append(NovaObject.object_to_dict(role, Role.fields)) 
+            #self.append(NovaObject.object_to_dict(role, Role.fields)) 
+            self.append(role) 
+