import sqlite3 from exchange import ForexDataHandler # Создаем или подключаемся к базе данных conn = sqlite3.connect('currency_rates.db') cursor = conn.cursor() # Создаем таблицу, если она не существует cursor.execute(''' CREATE TABLE IF NOT EXISTS currency_rates ( id INTEGER PRIMARY KEY AUTOINCREMENT, base_currency TEXT NOT NULL, quote_currency TEXT NOT NULL, rate REAL NOT NULL, timestamp TEXT NOT NULL ) ''') forex_handler = ForexDataHandler() currency_pairs = [ ('CNY', 'RUB'), # Китайский юань ('USD', 'RUB'), # Доллар США ('EUR', 'RUB'), # Евро ('GBP', 'RUB'), # Фунт стерлингов ('JPY', 'RUB'), # Японская йена ('KZT', 'RUB'), # Казахстанский тенге ('UAH', 'RUB'), # Украинская гривна ('BYN', 'RUB'), # Белорусский рубль ] try: print("\nТекущие курсы валют:") for base_currency, quote_currency in currency_pairs: try: rate = forex_handler.get_forex_rate(base_currency, quote_currency) print(f"\nКурс {base_currency}/{quote_currency}:") print(f"Текущий: {rate['close']:.4f}") print(f"Дата: {rate['timestamp']}") # Вставляем данные в базу данных cursor.execute(''' INSERT INTO currency_rates (base_currency, quote_currency, rate, timestamp) VALUES (?, ?, ?, ?) ''', (base_currency, quote_currency, rate['close'], rate['timestamp'])) except Exception as pair_error: print(f"Ошибка при получении курса {base_currency}/{quote_currency}: {pair_error}") except Exception as e: print(f"Произошла ошибка: {e}") # Сохраняем изменения и закрываем соединение conn.commit() conn.close()