hexeh / CBRFCurrencies

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Курс валют по данным ЦБ РФ

Простой класс для получения курса для заданного диапазона дат и списка валют или информации по ним

Описание


Инициализация

Для начала работы нужно создать новый экземпляр класса CBRFetcher со списком валют, для которых нужно получить курс.

Каждая валюта должна быть представлена своим ISO-кодом (регистр значения не имеет). Пример:

from provider import CBRFetcher

if __name__ == '__main__':
	list_currencies = ['eur','usd','gbp']
	cbr = CBRFetcher(list_currencies)

Получение информации о валютах

Для получения информации по валютам достаточно вызвать метод getCurrenciesInfo:

    info = cbr.getCurrenciesInfo(all = False)

Параметр all отвечает за то, вывести ли информацию обо всех валютах, о которых имеется информация в ЦБ РФ, или только о тех, которые были указаны при создании экземпляра.

Пример выходной информации:

[   {   "code": "R01035",
        "iso_char_code": "GBP",
        "iso_num_code": "826",
        "verbose_en": "British Pound Sterling",
        "verbose_ru": "Фунт стерлингов Соединенного королевства"},
    {   "code": "R01235",
        "iso_char_code": "USD",
        "iso_num_code": "840",
        "verbose_en": "US Dollar",
        "verbose_ru": "Доллар США"},
    {   "code": "R01239",
        "iso_char_code": "EUR",
        "iso_num_code": "978",
        "verbose_en": "Euro",
        "verbose_ru": "Евро"}]

Для вывода информации только о какой-то конкретной валюте достаточно вызвать метод getCurrencyInfo:

    usd_info = cbr.getCurrencyInfo('usd')

Результат:

{   
    "code": "R01235",
    "iso_char_code": "USD",
    "iso_num_code": "840",
    "verbose_en": "US Dollar",
    "verbose_ru": "Доллар США"
}

Получение курса

Для получения курса необходимо вызвать метод getExchanges с входным параметром нужного диапазона дат - либо одной даты для получения курса по валютам начиная с этой даты и заканчивая вчерашним днем, либо списка из двух дат - даты начала и даты окончания диапазона, для которого нужно получить информацию. В обоих случаях даты должны быть представлены объектами дат.

Пример:

    simple_date = datetime.date(2018,8,26)
    exchanges_simple = cbr.getExchanges(simple_date)
    simple_date_range = [datetime.date(2018,8,9),datetime.date(2018,8,10)]
    exchanges_date_range = cbr.getExchanges(simple_date_range)

Результат:

{   
    "code": "R01235",
    "date": "2018-08-10",
    "iso_char_code": "USD",
    "iso_num_code": "840",
    "rate": "66.2856",
    "verbose_en": "US Dollar",
    "verbose_ru": "Доллар США"
}

About


Languages

Language:Python 100.0%