29 lines
687 B
Python
Raw Normal View History

"""dad_jokes reader"""
import requests
from typing import List
from gpt_index.readers.base import BaseReader
from gpt_index.readers.schema.base import Document
class DadJokesReader(BaseReader):
"""Dad jokes reader.
Reads a random dad joke.
"""
def _get_random_dad_joke(self):
response = requests.get("https://icanhazdadjoke.com/", headers={"Accept": "application/json"})
response.raise_for_status()
json_data = response.json()
return json_data["joke"]
def load_data(self) -> List[Document]:
"""Return a random dad joke.
Args:
None.
"""
return [Document(self._get_random_dad_joke())]