X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=PLC%2FSites.py;h=07cd634b41898d98e126f6dc4ef6663d08ebb1fa;hb=ea7088921218c2837475decd5df7d1ca4a394fa8;hp=c66d38f301e5eef721454123c8d628b5556a9753;hpb=0792901b65bec91eb60273f26f2f013889c51a08;p=plcapi.git diff --git a/PLC/Sites.py b/PLC/Sites.py index c66d38f..07cd634 100644 --- a/PLC/Sites.py +++ b/PLC/Sites.py @@ -158,8 +158,10 @@ class Sites(list): elif isinstance(site_filter, dict): sites = Site().select(filter=site_filter) elif isinstance(site_filter, (list, tuple, set)): - sites = Site().select() - sites = [site for site in sites if site.id in site_filter] + ints = filter(lambda x: isinstance(x, (int, long)), site_filter) + strs = filter(lambda x: isinstance(x, StringTypes), site_filter) + site_filter = {'site_id': ints, 'login_base': strs} + sites = Site().select(filter=site_filter) else: raise PLCInvalidArgument, "Wrong site filter %s" % site_filter