Files
pagina-de-incio-universidad/backend/home/services/photos.py

63 lines
1.4 KiB
Python

import requests
url = "https://api.unsplash.com/photos/"
def query_api(key, page):
"""
Llama a la api de unsplash para obtener 20 fotos
en orden de popularidad
"""
data = {
'client_id': key,
'per_page': 40,
'page': page,
'order_by': 'popular',
}
response = requests.get(url, params=data)
return response.json()
def simplify_data(photos):
"""
Simplifica las informacion que entrega en las fotos
para tener solo lo mas basico necesario
el titulo alternativo de la foto, los links mas importantes
de la foto y los creditos al autor
"""
simple = []
for photo in photos:
first_name = photo['user'].get('first_name')
last_name = photo['user'].get('last_name')
if last_name is None:
last_name = ''
full_name = ' '.join([first_name, last_name])
simple.append({
'alt': photo['alt_description'],
'urls': {
'full': photo['urls']['full'],
'small': photo['urls']['small'],
},
'credit': {
'name': full_name,
'url': photo['user']['links']['html']
}
})
return simple
def get(key, page):
"""
Junta todo bien bonito para enviarlo alq ue llame la api
"""
photos = query_api(key, page)
simple = simplify_data(photos)
return {'page': page, 'results': simple}