Administrator
2022-10-12 be73e2b78857adaf006063275726b69c4c60f0d7
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
# 涨停时间管理器
"""
涨停时间管理器
"""
import l2_data_util
import redis_manager
import tool
import global_util
 
_redisManager = redis_manager.RedisManager(0)
 
 
def save_limit_up_time(code, time):
    _time = get_limit_up_time(code)
    if _time is None:
        redis = _redisManager.getRedis()
        redis.setex("limit_up_time-{}".format(code), tool.get_expire(), time)
        global_util.limit_up_time[code] = time
 
 
def get_limit_up_time(code):
    time = global_util.limit_up_time.get(code)
    if time is None:
        redis = _redisManager.getRedis()
        time = redis.get("limit_up_time-{}".format(code))
        if time is not None:
            global_util.limit_up_time[code] = time
 
    return time
 
 
def load_limit_up_time():
    redis = _redisManager.getRedis()
    keys = redis.keys("limit_up_time-*")
    for key in keys:
        code = key.replace("limit_up_time-", "")
        global_util.limit_up_time[code] = redis.get(key)
 
 
def sort_code_by_limit_time(codes):
    if not global_util.limit_up_time:
        load_limit_up_time()
    list = []
    for code in codes:
        limit_up_time = global_util.limit_up_time.get(code)
        if limit_up_time is not None:
            list.append((code, limit_up_time))
    new_s = sorted(list, key=lambda e: int(e[1].replace(":", "")))
    dict_ = {}
    for i in range(0, len(new_s)):
        dict_[new_s[i][0]] = i
    return dict_
 
 
if __name__ == "__main__":
    print(sort_code_by_limit_time(["002393", "002476", "002614", "002750", "600082", "002751"]))