def filter(self, **search_args):
search_args = search_args or {}<EOL>raw_resources = []<EOL>for url, paginator_params in self.paginator.get_urls(self.get_collection_endpoint()):<EOL><INDENT>search_args.update(paginator_params)<EOL>response = self.paginator.process_response(self.send(url, "<STR_LIT>", params=search_args))<EOL>raw_resources += self.client.get_response_data(response, self.Meta.parse_json)[self.json_collection_attribute] if self.json_collection_attribute is not None else self.client.get_response_data(response, self.Meta.parse_json)<EOL><DEDENT>resources = []<EOL>for raw_resource in raw_resources:<EOL><INDENT>try:<EOL><INDENT>resource = self.resource_class(self.client)<EOL><DEDENT>except (ValueError, TypeError):<EOL><INDENT>continue<EOL><DEDENT>else:<EOL><INDENT>resource.update_from_dict(raw_resource)<EOL>resources.append(resource)<EOL><DEDENT><DEDENT>return resources<EOL>
Get a filtered list of resources
:param search_args: To be translated into ?arg1=value1&arg2=value2...
:return: A list of resources