From d1bf04791ad095b17660a1f383b7a12f0a59b1d1 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期三, 26 四月 2023 19:15:06 +0800 Subject: [PATCH] 优化H撤/融入网页看盘页面/开盘啦数据应用 --- third_data/kpl_util.py | 128 +++++++++++++++++++++++++++++++++++++----- 1 files changed, 111 insertions(+), 17 deletions(-) diff --git a/third_data/kpl_util.py b/third_data/kpl_util.py index 4c0f0ab..68fe651 100644 --- a/third_data/kpl_util.py +++ b/third_data/kpl_util.py @@ -1,3 +1,4 @@ +import enum import json @@ -44,36 +45,129 @@ # (浠g爜,鍚嶇О,娑ㄥ箙,鏉垮潡,瀹為檯娴侀��) # (0,1,4,11,15) -TYPE_BIDDING = 8 -TYPE_LIMIT_UP = 1 -TYPE_OPEN_LIMIT_UP = 2 -TYPE_LIMIT_DOWN = 3 -TYPE_EVER_LIMIT_DOWN = 5 +DABAN_TYPE_BIDDING = 8 +DABAN_TYPE_LIMIT_UP = 1 +DABAN_TYPE_OPEN_LIMIT_UP = 2 +DABAN_TYPE_LIMIT_DOWN = 3 +DABAN_TYPE_EVER_LIMIT_DOWN = 5 -def __parseItemData(data, type): - if type == TYPE_BIDDING: +class KPLDataType(enum.Enum): + BIDDING = "biddings" + LIMIT_UP = "limit_up" + OPEN_LIMIT_UP = "open_limit_up" + LIMIT_DOWN = "limit_down" + EVER_LIMIT_DOWN = "ever_limit_down" + FENG_KOU = "feng_kou" + BEST_FENG_KOU = "best_feng_kou" + FENG_XIANG = "feng_xiang" + INDUSTRY_RANK = "industry_rank" + + +def __parseDaBanItemData(data, type): + if type == DABAN_TYPE_BIDDING: return data[0], data[1], data[18], data[11], data[22], data[15] - elif type == TYPE_LIMIT_UP: + elif type == DABAN_TYPE_LIMIT_UP: return data[0], data[1], data[6], data[25], data[9], data[16], data[11], data[15], data[12] - elif type == TYPE_OPEN_LIMIT_UP: + elif type == DABAN_TYPE_OPEN_LIMIT_UP: return data[0], data[1], data[4], data[11], data[15] - elif type == TYPE_LIMIT_DOWN: + elif type == DABAN_TYPE_LIMIT_DOWN: return data[0], data[1], data[11], data[15] - elif type == TYPE_EVER_LIMIT_DOWN: + elif type == DABAN_TYPE_EVER_LIMIT_DOWN: return data[0], data[1], data[4], data[11], data[15] return None -def parseData(data, type): - data = json.loads(data) - if data["errcode"] != 0: +# 鏈�寮洪鍙� +# (浠g爜,鍚嶇О,寮哄害,娑ㄥ箙,鐑棬鏉垮潡,鎵�鏈夋澘鍧�) +def __parseBestFengKouItemData(data): + return data[0], data[1], data[2], data[4], data[12], data[10] + + +# 甯傚満椋庡彛 +# (浠g爜,鍚嶇О,娑ㄥ箙,涓诲姏鍑�棰�,椋庡彛姒傚康) +def __parseFengKouItemData(data): + return data[0], data[1], data[3], data[7], data[11] + + +# 椋庡悜鏍� +# (浠g爜, 鍚嶇О, 鐜颁环, 娑ㄥ箙, 鏉垮潡, 300涓囧ぇ鍗曞噣棰�, 涓诲姏鍑�棰�, 鑷敱甯傚��) +def __parseFengXiangBiaoItemData(data): + return data[0], data[1], data[5], data[6], data[4], data[-3], data[13], data[10] + + +# 琛屼笟娑ㄥ箙 +# (浠g爜,鍚嶇О,涓诲姏鍑�棰�,娑ㄨ穼骞�) +def __parseIndustry_rank(data): + return data[0], data[1], data[6], data[3] + + +def parseDaBanData(data, type_): + if type(data) == str: + data = json.loads(data) + if int(data["errcode"]) != 0: raise Exception(f"瑙f瀽鏁版嵁鍑洪敊锛宔rrcode锛歿data['errcode']}") list_ = data["list"] fresult_ = [] for d in list_: - pdata = __parseItemData(d, type) + pdata = __parseDaBanItemData(d, type_) if pdata: - fresult_ .append(pdata) - return fresult_ \ No newline at end of file + fresult_.append(pdata) + return fresult_ + + +def parseFengKou(data): + if type(data) == str: + data = json.loads(data) + if int(data["errcode"]) != 0: + raise Exception(f"瑙f瀽鏁版嵁鍑洪敊锛宔rrcode锛歿data['errcode']}") + list_ = data["List"] + fresult_ = [] + for d in list_: + pdata = __parseFengKouItemData(d) + if pdata: + fresult_.append(pdata) + return fresult_ + + +def parseBestFengKou(data): + if type(data) == str: + data = json.loads(data) + if int(data["errcode"]) != 0: + raise Exception(f"瑙f瀽鏁版嵁鍑洪敊锛宔rrcode锛歿data['errcode']}") + list_ = data["List"] + fresult_ = [] + for d in list_: + pdata = __parseBestFengKouItemData(d) + if pdata: + fresult_.append(pdata) + return fresult_ + + +def parseFengXiang(data): + if type(data) == str: + data = json.loads(data) + if int(data["errcode"]) != 0: + raise Exception(f"瑙f瀽鏁版嵁鍑洪敊锛宔rrcode锛歿data['errcode']}") + list_ = data["list"] + fresult_ = [] + for d in list_: + pdata = __parseFengXiangBiaoItemData(d) + if pdata: + fresult_.append(pdata) + return fresult_ + + +def parseIndustryRank(data): + if type(data) == str: + data = json.loads(data) + if int(data["errcode"]) != 0: + raise Exception(f"瑙f瀽鏁版嵁鍑洪敊锛宔rrcode锛歿data['errcode']}") + list_ = data["list"] + fresult_ = [] + for d in list_: + pdata = __parseIndustry_rank(d) + if pdata: + fresult_.append(pdata) + return fresult_ \ No newline at end of file -- Gitblit v1.8.0