Simplificada y mejorada la api :3

This commit is contained in:
2020-11-19 06:14:24 -03:00
parent 20c72e3af0
commit c5ad41a8ee
4 changed files with 149 additions and 16 deletions

View File

@@ -1,12 +1,50 @@
import requests
url = "https://v2.api.forex/rates/latest.json"
url = "http://data.fixer.io/api/{0}"
def get(key):
data = {
'key': key,
}
def query_rates(key):
"""
Llama a la api de fixer para obtener los rates del dinero
Esta informacion esta en base al euro
response = requests.get(url, params=data)
return response.json()
No se hace ninguna validacion porque... no quiero
"""
data = {'access_key': key}
response = requests.get(url.format('latest'), params=data)
return response.json().get('rates')
def query_symbols(key):
"""
Llama a la api de fixer para obtener el significado
de los simbolos de 3 letras de cada moneda
No se hace ninguna validacion porque... no quiero
"""
data = {'access_key': key}
response = requests.get(url.format('symbols'), params=data)
return response.json().get('symbols')
def to_base(base, raw):
"""
Transforma desde la base del euro a otra moneda
"""
base = raw.get(base)
transformed = {}
for k, v in raw.items():
transformed[k] = raw[k] / base
return transformed
def rates(base, key):
"""
Junta todo bien bonito para enviarlo al que llame la api
"""
rates = query_rates(key)
other_base= to_base(base, rates)
symbols = query_symbols(key)
return {'rates' : other_base, 'symbols': symbols}