Simplificada y mejorada la api :3
This commit is contained in:
@@ -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}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user