X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=PLC%2FRoles.py;h=415365b1db11f17ebffae93474c602292b5f578d;hb=c7b7ecd315043f172b23cb50fd99916123eb859d;hp=fcc05f4bd609edf609d01d7047d8b53ef46ff84b;hpb=4e770b3cf4e6b16150fd479ace9854eaee3399b6;p=plcapi.git diff --git a/PLC/Roles.py b/PLC/Roles.py index fcc05f4..415365b 100644 --- a/PLC/Roles.py +++ b/PLC/Roles.py @@ -5,7 +5,6 @@ # Copyright (C) 2006 The Trustees of Princeton University # -from types import StringTypes from PLC.Faults import * from PLC.Parameter import Parameter from PLC.Filter import Filter @@ -29,19 +28,19 @@ class Role(Row): # Make sure role does not already exist conflicts = Roles(self.api, [role_id]) if conflicts: - raise PLCInvalidArgument, "Role ID already in use" + raise PLCInvalidArgument("Role ID already in use") return role_id def validate_name(self, name): # Make sure name is not blank if not len(name): - raise PLCInvalidArgument, "Role must be specified" + raise PLCInvalidArgument("Role must be specified") # Make sure role does not already exist conflicts = Roles(self.api, [name]) if conflicts: - raise PLCInvalidArgument, "Role name already in use" + raise PLCInvalidArgument("Role name already in use") return name @@ -59,20 +58,20 @@ class Roles(Table): if role_filter is not None: if isinstance(role_filter, (list, tuple, set)): # Separate the list into integers and strings - ints = filter(lambda x: isinstance(x, (int, long)), role_filter) - strs = filter(lambda x: isinstance(x, StringTypes), role_filter) + ints = [x for x in role_filter if isinstance(x, int)] + strs = [x for x in role_filter if isinstance(x, str)] role_filter = Filter(Role.fields, {'role_id': ints, 'name': strs}) sql += " AND (%s) %s" % role_filter.sql(api, "OR") elif isinstance(role_filter, dict): role_filter = Filter(Role.fields, role_filter) sql += " AND (%s) %s" % role_filter.sql(api, "AND") - elif isinstance(role_filter, (int, long)): + elif isinstance(role_filter, int): role_filter = Filter(Role.fields, {'role_id': role_filter}) sql += " AND (%s) %s" % role_filter.sql(api, "AND") - elif isinstance(role_filter, StringTypes): + elif isinstance(role_filter, str): role_filter = Filter(Role.fields, {'name': role_filter}) sql += " AND (%s) %s" % role_filter.sql(api, "AND") else: - raise PLCInvalidArgument, "Wrong role filter %r"%role_filter + raise PLCInvalidArgument("Wrong role filter %r"%role_filter) self.selectall(sql)