Re: Оптимізація коду або Боротьба з говнокодом[Python&wxPython]
logging:
▼Прихований текст
# _*_ coding: utf-8 _*_
import json
import urllib2
import time
import logging
def load_currency(log=False):
"""функція, котра завантажує дані щодо курсу валют: \
долар, євро та рубль, готівковкий та безготівковий \
зі серверу ПриватБанку."""
result = {}
FORMAT = '%(asctime)-15s | %(message)s'
LEVEL = logging.INFO if log==True else logging.CRITICAL
logging.basicConfig(format=FORMAT, level=LEVEL)
logging.info("Start loading...")
logging.info("Connect to source...")
resp1 = urllib2.urlopen("https://api.privatbank.ua/p24api/pubinfo?json&exchange&coursid=5")
logging.info("Connected. Loading data...")
data1 = resp1.read()
logging.info("Done.")
data1 = json.loads(data1)
for i in data1:
key = '_'.join([i['ccy'],'cash','buy'])
result[key]=i['buy']
key = '_'.join([i['ccy'],'cash','sale'])
result[key]=i['sale']
logging.info("Waiting 2 seconds...")
time.sleep(2)
#
logging.info("Connect to source...")
resp2 = urllib2.urlopen("https://api.privatbank.ua/p24api/pubinfo?exchange&json&coursid=11")
logging.info("Connected. Loading data...")
data2 = resp2.read()
logging.info("Done.")
data2 = json.loads(data2)
for i in data2:
key = '_'.join([i['ccy'],'ncash','buy'])
result[key]=i['buy']
key = '_'.join([i['ccy'],'ncash','sale'])
result[key]=i['sale']
#
result = float_currency(result)
logging.info("ALL OK")
return result
Дякую. Тепер зручніше. Потрібен вивід передаємо параметр True, не потрібен - нічого не передаємо.