podcast_newsletter / search_recommend.py
bpHigh's picture
Update search_recommend.py
4966db5
raw history blame
No virus
1.85 kB
from listennotes import podcast_api
import os
import json
api_key = os.environ['LISTENNOTES']
def search(query):
client = podcast_api.Client(api_key=api_key)
response = client.search(
q=query, sort_by_date=0, only_in='title,description', offset=5, type='podcast')
results = response.json()
results_final = results['results']
final_string = """ """
number = 1
for item in results_final:
final_string += f"{number}. "
final_string += f"Podcast ID:-{item['id']}\n"
final_string += f"Link:-{item['listennotes_url']}\n"
final_string += f"Title:-{item['title_original']}\n"
final_string += f"![{item['title_highlighted']}]({item['thumbnail']} '{item['title_original']}')\n\n"
final_string += "\n\n"
number += 1
return final_string
def recommend(podcast_id):
client = podcast_api.Client(api_key=api_key)
response = client.fetch_recommendations_for_podcast(id=podcast_id)
results = response.json()
results_final = results["recommendations"]
final_string = """ """
number = 1
for item in results_final:
final_string += f"{number}. "
final_string += f"Title:- {item['title']}\n"
final_string += f"Description:- {item['description']}"
final_string += f"![{item['title']}]({item['image']} '{item['title']}')\n\n"
final_string += "\n\n"
number += 1
return final_string
def get_podcast_title(podcast_id):
client = podcast_api.Client(api_key=api_key)
response = client.fetch_podcast_by_id(id=podcast_id)
result = response.json()
results_final = result["title"]
return results_final
def search_chat_respond(normal_msg,normal_chatbot):
response = search(normal_msg)
normal_chatbot.append((normal_msg,response))
return "", normal_chatbot