main.py 672 B

1234567891011121314151617181920212223242526
  1. import validators
  2. from typing import Optional
  3. from urllib.parse import urlparse
  4. from pydantic import BaseModel
  5. def get_filtered_results(results, filter_list):
  6. if not filter_list:
  7. return results
  8. filtered_results = []
  9. for result in results:
  10. url = result.get("url") or result.get("link", "")
  11. if not validators.url(url):
  12. continue
  13. domain = urlparse(url).netloc
  14. if any(domain.endswith(filtered_domain) for filtered_domain in filter_list):
  15. filtered_results.append(result)
  16. return filtered_results
  17. class SearchResult(BaseModel):
  18. link: str
  19. title: Optional[str]
  20. snippet: Optional[str]