Files
enlight-lms/lms/unsplash.py
2024-05-13 16:50:52 +05:30

43 lines
904 B
Python

# Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and Contributors
# See license.txt
import frappe
base_url = "https://api.unsplash.com"
def get_by_keyword(keyword):
data = make_unsplash_request(f"/search/photos?query={keyword}")
return data.get("results")
def get_list():
return make_unsplash_request("/photos")
def get_random(params=None):
query_string = ""
for key, value in params.items():
query_string += f"{key}={value}&"
return make_unsplash_request(f"/photos/random?{query_string}")
def make_unsplash_request(path):
unsplash_access_key = frappe.db.get_single_value("LMS Settings", "unsplash_access_key")
if not unsplash_access_key:
return
import requests
url = f"{base_url}{path}"
res = requests.get(
url,
headers={
"Accept-Version": "v1",
"Authorization": f"Client-ID {unsplash_access_key}",
},
)
res.raise_for_status()
data = res.json()
return data