From 1abff8b130754be38c789bc3c54c06dc77a7c7f0 Mon Sep 17 00:00:00 2001 From: Qihang Zhang Date: Sat, 19 Apr 2025 19:31:58 +0800 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20refactor(logger):=20?= =?UTF-8?q?=E5=B0=86=E6=97=A5=E5=BF=97=E7=AE=A1=E7=90=86=E5=99=A8=E8=B7=AF?= =?UTF-8?q?=E5=BE=84=E4=BB=8Elogger=E6=9B=B4=E6=96=B0=E4=B8=BAlogger=5Fman?= =?UTF-8?q?ager=E5=B9=B6=E4=BC=98=E5=8C=96=E6=95=B0=E6=8D=AE=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data_manager.py | 16 ++++++++-------- database_manager.py | 2 +- money_flow_analyzer.py | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/data_manager.py b/data_manager.py index 66fea4a..b47a3f5 100644 --- a/data_manager.py +++ b/data_manager.py @@ -7,7 +7,7 @@ from tqdm import tqdm from config_manager import get_config_manager from database_manager import DatabaseManager -from logger import get_logger +from logger_manager import get_logger # 模块级别的配置 config = get_config_manager() @@ -79,7 +79,7 @@ class DataFetcher: # 确定需要获取的日期 if not force_update: # 从数据库获取已有的交易日期 - existing_dates = DataReader.get_existing_trade_dates(table_name=table_name) + existing_dates = DataReader.get_existing_table_trade_dates(table_name=table_name) # 筛选出需要新获取的日期 dates_to_fetch = [date for date in all_trade_dates if date not in existing_dates] else: @@ -152,7 +152,7 @@ class DataReader: @staticmethod def get_trade_cal(start_date=None, end_date=None, update=False): """ - 获取指定时间段内的交易日历 + 从数据库获取交易日历,如果表不存在则自动拉取数据,并截取指定日期范围内的交易日历(工作日) 参数: start_date (str): 开始日期,格式'YYYYMMDD' end_date (str): 结束日期,格式'YYYYMMDD' @@ -185,9 +185,9 @@ class DataReader: return [] @staticmethod - def get_existing_trade_dates(table_name): + def get_existing_table_trade_dates(table_name): """ - 从数据库中获取已有的交易日期 + 查询指定表中已存在的交易日期 参数: table_name (str): 数据表名称 返回: @@ -196,14 +196,14 @@ class DataReader: # 先检查表是否存在 if not db_manager.table_exists(table_name): logger.debug(f"表 '{table_name}' 不存在") - return set() + return [] try: # 使用query方法获取不重复的交易日期 query_result = db_manager.query(f"SELECT DISTINCT trade_date FROM {table_name}") # 将查询结果转换为集合并返回 - return set(query_result['trade_date'].values) + return list(set(query_result['trade_date'].values)) except Exception as e: logger.error(f"获取已存在交易日期时出错: {e}") logger.debug(f"完整的错误追踪信息:\n{traceback.format_exc()}") - return set() \ No newline at end of file + return [] \ No newline at end of file diff --git a/database_manager.py b/database_manager.py index 454618b..01808d5 100644 --- a/database_manager.py +++ b/database_manager.py @@ -5,7 +5,7 @@ import pandas as pd from sqlalchemy import create_engine, text, inspect from config_manager import get_config_manager -from logger import get_logger +from logger_manager import get_logger class DatabaseManager: diff --git a/money_flow_analyzer.py b/money_flow_analyzer.py index 99c9458..2744577 100644 --- a/money_flow_analyzer.py +++ b/money_flow_analyzer.py @@ -5,7 +5,7 @@ import numpy as np import pandas as pd from config_manager import get_config_manager from database_manager import DatabaseManager -from logger import get_logger +from logger_manager import get_logger class MoneyflowAnalyzer: