import requests url = "http://data.fixer.io/api/{0}" def query_rates(key): """ Llama a la api de fixer para obtener los rates del dinero Esta informacion esta en base al euro 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 {'base': base, 'rates' : other_base, 'symbols': symbols}