From f09823c8aa1ac777d634d37ab29c0ad85386a06e Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期五, 11 四月 2025 00:53:22 +0800 Subject: [PATCH] 新题材重新定义 --- servers/data_server.py | 50 ++++++++++++++++++++++---------------------------- 1 files changed, 22 insertions(+), 28 deletions(-) diff --git a/servers/data_server.py b/servers/data_server.py index d581ca9..aca2244 100644 --- a/servers/data_server.py +++ b/servers/data_server.py @@ -990,6 +990,13 @@ for k in code_blocks_dict: fdata[k] = list(code_blocks_dict[k]) response_data = json.dumps({"code": 0, "data": fdata}) + elif url.path == "/get_new_blocks_special_codes": + # 鑾峰彇鎵�鏈夎鲸璇嗗害鐨勪唬鐮� + code_blocks_dict = BlockSpecialCodesManager().get_temp_code_blocks_dict() + fdata = {} + for k in code_blocks_dict: + fdata[k] = list(code_blocks_dict[k]) + response_data = json.dumps({"code": 0, "data": fdata}) async_log_util.info(logger_request_api, f"缁撴潫璇锋眰{tool.get_thread_id()}-{url}") self.send_response(200) @@ -1023,7 +1030,7 @@ def do_limit_up(result_list_): - def request_new_blocks_codes(blocks_info): + def request_new_blocks_codes(blocks_info, all_new_blocks): """ 璇锋眰鏂版澘鍧楃殑浠g爜 @param blocks_info:[(鏉垮潡鍚嶇О,鏉垮潡浠g爜)] @@ -1045,8 +1052,7 @@ code_info_list.append((d[0], d[6])) if code_info_list: # 灏嗕唬鐮佸姞鍏ユ柊棰樻潗 - for x in code_info_list: - new_block_processor.process_new_block(x[0], bi[0]) + new_block_processor.process_new_block_by_component_codes(bi[0], set([x[0] for x in code_info_list]), all_new_blocks) try: @@ -1122,39 +1128,27 @@ pass try: - records = KPLLimitUpDataRecordManager.total_datas - # 璁$畻浠婃棩鏂板鐨勯鏉愭蹇� - block_codes = {} - # 缁熻鏉垮潡鐨勪唬鐮� - block_plate_code_dict = {} - for x in records: - bs = {kpl_util.filter_block(x[2])} - block_plate_code_dict[kpl_util.filter_block(x[2])] = x[15] - # if x[6]: - # bs |= set(x[6].split("銆�")) - for b in bs: - if b not in block_codes: - block_codes[b] = set() - block_codes[b].add(x[3]) - # 鎵�鏈変唬鐮佺殑娑ㄥ仠鍘熷洜 - reasons = set(block_codes.keys()) - reasons -= constant.KPL_INVALID_BLOCKS - # 鍘熸潵鐨勮�侀鏉� - reasons -= BeforeBlocksComputer().get_old_blocks() - if reasons: + # 鏂伴鏉� + new_block_codes = new_block_processor.screen_new_blocks_with_limit_up_datas([(x[0], x[5]) for x in result_list_]) + if new_block_codes: + # 缁熻鏉垮潡鐨勪唬鐮� + records = KPLLimitUpDataRecordManager.total_datas + block_plate_code_dict = {} + for x in records: + block_plate_code_dict[kpl_util.filter_block(x[2])] = x[15] # 鏂版澘鍧� update_new_block_plates = [] - for r in reasons: - for c in block_codes[r]: - new_block_processor.process_new_block(c, r) + for b in new_block_codes: + for c in new_block_codes[b]: + new_block_processor.process_new_block_by_limit_up_list(c, b) - for r in reasons: + for r in new_block_codes: if r in block_plate_code_dict: update_new_block_plates.append((r, block_plate_code_dict[r])) if update_new_block_plates: # 闇�瑕佽幏鍙栨澘鍧椾笅鐨勪唬鐮� self.__new_blocks_codes_request_thread_pool.submit( - lambda: request_new_blocks_codes(update_new_block_plates)) + lambda: request_new_blocks_codes(update_new_block_plates, new_block_codes.keys())) except: pass self.__kplDataManager.save_data(type_, result_list_) -- Gitblit v1.8.0