"""
|
热门板块数据处理
|
"""
|
import json
|
|
import tool
|
from db import redis_manager
|
|
__redisManager = redis_manager.RedisManager(0)
|
|
|
def __get_redis():
|
return __redisManager.getRedis()
|
|
|
# 保存数据
|
def save_datas(datas):
|
code_block_dict = {}
|
block_codes_dict = {}
|
for block in datas:
|
codes = []
|
for code_data in block[2]:
|
code = code_data[0].split(".")[0]
|
if code not in code_block_dict:
|
code_block_dict[code] = set()
|
code_block_dict[code].add(block[0])
|
codes.append(code)
|
block_codes_dict[block[0]] = codes
|
__save_block_codes(block_codes_dict)
|
for key in code_block_dict:
|
__save_code_block(key, code_block_dict[key])
|
|
|
# 保存代码所属板块
|
def __save_code_block(code, blocks):
|
__get_redis().setex(f"code_blocks-{code}", tool.get_expire(), json.dumps(list(blocks)))
|
|
|
# 保存板块下的代码
|
def __save_block_codes(block_codes):
|
__get_redis().setex(f"blocks_codes", tool.get_expire(), json.dumps(block_codes))
|
|
|
def __get_block_codes():
|
val = __get_redis().get(f"blocks_codes")
|
if val is None:
|
return None
|
return json.loads(val)
|
|
|
# 获取代码板块
|
def get_code_blocks(code):
|
val = __get_redis().get(f"code_blocks-{code}")
|
if val is None:
|
return None
|
return json.loads(val)
|
|
|
# 获取板块下的所有代码
|
def get_block_codes(block):
|
block_codes = __get_block_codes()
|
if block_codes:
|
block_codes.get(block)
|
return None
|
|
if __name__ == "__main__":
|
print(get_code_blocks("600468"))
|