Administrator
2023-03-15 68464c679ae5e1ae35e7e67e3b339ba0f939cbd3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
"""
热门板块数据处理
"""
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"))