|
|
import requests |
|
|
from dotenv import load_dotenv |
|
|
import os |
|
|
|
|
|
load_dotenv() |
|
|
base_url = "https://api.pexels.com/v1" |
|
|
api_key = os.getenv("API_KEY_PEXELS") |
|
|
|
|
|
|
|
|
def get_random_image(topic: str) -> tuple[str, str] | tuple[None, None]: |
|
|
|
|
|
params = {"query": topic, "per_page": 1} |
|
|
headers = {"Authorization": api_key} |
|
|
try: |
|
|
response = requests.get(url=f"{base_url}/search", params=params, headers=headers) |
|
|
response_json = response.json() |
|
|
if response.status_code != 200: |
|
|
return None, None |
|
|
photo = response_json["photos"][0] |
|
|
landscape_url = photo["src"]["landscape"] |
|
|
alt = photo["alt"] |
|
|
return landscape_url, alt |
|
|
except Exception as e: |
|
|
landscape_url, alt = None, None |
|
|
return None, None |
|
|
|