- Добавлен yfinance в requirements.txt - Расширен .gitignore для исключения служебных файлов Python - Исправлен импорт в currency.py для корректной работы с модулями
60 lines
2.1 KiB
Python
60 lines
2.1 KiB
Python
import sys
|
||
import os
|
||
|
||
# Добавляем путь к родительской директории
|
||
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
|
||
|
||
import sqlite3
|
||
from classes.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() |