81def response(resp) -> EngineResults:
82 results = EngineResults()
83
84 data = resp.json()
85
86 for entry in data:
87 if huggingface_endpoint != 'models':
88 url = f"{base_url}/{huggingface_endpoint}/{entry['id']}"
89 else:
90 url = f"{base_url}/{entry['id']}"
91
92 published_date = None
93 try:
94 published_date = datetime.strptime(entry["createdAt"], "%Y-%m-%dT%H:%M:%S.%fZ")
95 except (ValueError, TypeError):
96 pass
97
98 contents = []
99 if entry.get("likes"):
100 contents.append(f"Likes: {entry['likes']}")
101 if entry.get("downloads"):
102 contents.append(f"Downloads: {entry['downloads']:,}")
103 if entry.get("tags"):
104 contents.append(f"Tags: {', '.join(entry['tags'])}")
105 if entry.get("description"):
106 contents.append(f"Description: {entry['description']}")
107
108 item = MainResult(
109 title=entry["id"],
110 content=html_to_text(" | ".join(contents)),
111 url=url,
112 publishedDate=published_date,
113 )
114 results.add(item)
115
116 return results