From 0e68e24f54db11d340785b17570fff2bc5fc7ac6 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期一, 24 七月 2023 13:05:16 +0800 Subject: [PATCH] bug修复 --- third_data/block_info.py | 70 ++++++++++++++++++++++++----------- 1 files changed, 48 insertions(+), 22 deletions(-) diff --git a/third_data/block_info.py b/third_data/block_info.py index f9f2c11..786f055 100644 --- a/third_data/block_info.py +++ b/third_data/block_info.py @@ -3,10 +3,13 @@ """ import datetime -import juejin -import tool -from third_data import kpl_util, kpl_data_manager +import constant +from utils import tool +from third_data import kpl_util +from third_data.history_k_data_util import HistoryKDatasUtils from third_data.kpl_data_manager import KPLLimitUpDataRecordManager, KPLDataManager + +from third_data import kpl_data_manager __before_block_dict = {} @@ -23,6 +26,16 @@ return __before_block_dict.get(code) +# 鑾峰彇涔嬪墠鐨勬澘鍧� +def get_before_blocks(code): + return __before_block_dict.get(code) + + +# 鑾峰彇涔嬪墠鐨勪唬鐮�-鏉垮潡瀛楀吀 +def get_before_blocks_dict(): + return __before_block_dict + + def __get_code_from_code_info(code_info): code = code_info[0][1].split(".")[0] return code @@ -31,12 +44,13 @@ # (浠g爜, 鍚嶇О, 棣栨娑ㄥ仠鏃堕棿, 鏈�杩戞定鍋滄椂闂�, 鍑犳澘, 娑ㄥ仠鍘熷洜, 鏉垮潡, 瀹為檯娴侀��, 涓诲姏鍑�棰�) def __get_blocks(code, limit_up_datas, filter=True): blocks = [] - for data in limit_up_datas: - if data[0] == code: - block = data[5] - if block in kpl_data_manager.INVALID_BLOCKS and filter: - continue - blocks.append(block) + if limit_up_datas: + for data in limit_up_datas: + if data[0] == code: + block = data[5] + if block in constant.KPL_INVALID_BLOCKS and filter: + continue + blocks.append(block) return blocks @@ -56,10 +70,10 @@ if now_day in __blocks_dict: return __blocks_dict[now_day] now_date = datetime.datetime.now() - end_date = juejin.JueJinManager.get_previous_trading_date(tool.get_now_date_str()) + end_date = HistoryKDatasUtils.get_previous_trading_date(tool.get_now_date_str()) start_date = now_date - datetime.timedelta(days=(day_count * 2 + 10)) start_date = start_date.strftime("%Y-%m-%d") - days = juejin.JueJinManager.get_trading_dates(start_date, end_date) + days = HistoryKDatasUtils.get_trading_dates(start_date, end_date) days = days[0 - day_count:] results = KPLLimitUpDataRecordManager.list_blocks_with_day(days) __blocks_dict[now_day] = results @@ -73,7 +87,7 @@ return blocks -def get_target_block(code, filter=False): +def get_target_block_info(code, filter=False): latest_datas = __kplDataManager.get_data(kpl_util.KPLDataType.LIMIT_UP) blocks = __get_blocks(code, latest_datas, filter) if not blocks: @@ -82,7 +96,7 @@ target_block = None if blocks: for block in blocks: - if block in kpl_data_manager.INVALID_BLOCKS and filter: + if block in constant.KPL_INVALID_BLOCKS and filter: continue target_block = block break @@ -104,7 +118,7 @@ target_block = None if blocks: for block in blocks: - if block in kpl_data_manager.INVALID_BLOCKS: + if block in constant.KPL_INVALID_BLOCKS: continue target_block = block break @@ -139,7 +153,7 @@ # 鏄惁鍑虹幇杩囬珮浣嶆澘 high_block_infos = [] for block in blocks: - if block in kpl_data_manager.INVALID_BLOCKS: + if block in constant.KPL_INVALID_BLOCKS: continue if latest_datas: has_high, high_code_info = __is_has_high_code(block, latest_datas) @@ -158,7 +172,7 @@ code_ = d[3] limit_up_codes_info_set.add((code_, d[5])) block_codes_set.add(code_) - elif d[3]==code: + elif d[3] == code: limit_up_codes_info_set.add((d[3], d[5])) # 鑾峰彇娑ㄥ仠鐨勯『搴� limit_up_index = -1 @@ -183,12 +197,13 @@ re_limit_codes = set() # 鐐告澘锛� # (浠g爜,鍚嶇О,娑ㄥ箙,鏉垮潡,瀹為檯娴侀��) - for data in open_limit_up_datas: - blocks = set(data[3].split("銆�")) - if target_block not in blocks: - continue - code_ = data[0] - break_codes.add(code_) + if open_limit_up_datas: + for data in open_limit_up_datas: + blocks = set(data[3].split("銆�")) + if target_block not in blocks: + continue + code_ = data[0] + break_codes.add(code_) # 缁熻鍥炲皝 for data in latest_datas: if data[5] != target_block: @@ -226,5 +241,16 @@ return fresult +# 鍒濆鍖栨澘鍧楁暟鎹� +def init(): + # 鍔犺浇鏁版嵁鍒板唴瀛樹腑 + kpl_data_manager.get_current_limit_up_data_records(10) + + +def init_code(code): + # 鍔犺浇鍘嗗彶娑ㄥ仠鍘熷洜 + __load_before_block(code) + + if __name__ == "__main__": get_info("603133") -- Gitblit v1.8.0