33 lines
715 B
Python
Raw Normal View History

"""dad_jokes reader"""
from typing import List
2023-02-24 23:39:32 -08:00
import requests
from llama_index.readers.base import BaseReader
from llama_index.readers.schema.base import Document
2023-02-24 23:39:32 -08:00
class DadJokesReader(BaseReader):
"""Dad jokes reader.
Reads a random dad joke.
"""
def _get_random_dad_joke(self):
2023-02-24 23:39:32 -08:00
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.
"""
2023-02-24 23:39:32 -08:00
return [Document(self._get_random_dad_joke())]