X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=PLC%2FRoles.py;h=53d68d01327c9866c3682f1771771e79b02d9fd4;hb=refs%2Fheads%2Fplanetlab-4_0-branch;hp=aad1019ef8a2e2e76b6304c2a66963bf2f7bce47;hpb=0cde91a55d0148022ac83bc4219cdefc66a56510;p=plcapi.git diff --git a/PLC/Roles.py b/PLC/Roles.py index aad1019..53d68d0 100644 --- a/PLC/Roles.py +++ b/PLC/Roles.py @@ -4,7 +4,7 @@ # Mark Huang # Copyright (C) 2006 The Trustees of Princeton University # -# $Id: Roles.py,v 1.6 2006/10/24 20:02:22 mlhuang Exp $ +# $Id: Roles.py 5574 2007-10-25 20:33:17Z thierry $ # from types import StringTypes @@ -59,14 +59,14 @@ class Roles(Table): ", ".join(Role.fields) if role_filter is not None: - if isinstance(role_filter, list): + 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) role_filter = Filter(Role.fields, {'role_id': ints, 'name': strs}) - sql += " AND (%s)" % role_filter.sql(api, "OR") + sql += " AND (%s) %s" % role_filter.sql(api, "OR") elif isinstance(role_filter, dict): role_filter = Filter(Role.fields, role_filter) - sql += " AND (%s)" % role_filter.sql(api, "AND") + sql += " AND (%s) %s" % role_filter.sql(api, "AND") self.selectall(sql)