from typing import Dict, Generator
import requests
[docs]def request_sw_data(url):
"""Adapter function for getting data from SWAPI url"""
response = requests.get(url=url)
response.raise_for_status()
return response.json()
[docs]def results_generator(url: str) -> Generator[Dict, None, None]:
"""
Result generator that will automatically request next result page until
there are no more results
"""
while url is not None:
data = request_sw_data(url)
results = data['results']
for result in results:
yield result
url = data['next']