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