analyser_hj3415 2.4.0__tar.gz → 2.5.0__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {analyser_hj3415-2.4.0 → analyser_hj3415-2.5.0}/PKG-INFO +1 -1
- {analyser_hj3415-2.4.0 → analyser_hj3415-2.5.0}/analyser_hj3415/cli.py +11 -3
- {analyser_hj3415-2.4.0 → analyser_hj3415-2.5.0}/analyser_hj3415/myredis.py +16 -19
- {analyser_hj3415-2.4.0 → analyser_hj3415-2.5.0}/pyproject.toml +1 -1
- {analyser_hj3415-2.4.0 → analyser_hj3415-2.5.0}/.DS_Store +0 -0
- {analyser_hj3415-2.4.0 → analyser_hj3415-2.5.0}/.gitattributes +0 -0
- {analyser_hj3415-2.4.0 → analyser_hj3415-2.5.0}/.gitignore +0 -0
- {analyser_hj3415-2.4.0 → analyser_hj3415-2.5.0}/.idea/.gitignore +0 -0
- {analyser_hj3415-2.4.0 → analyser_hj3415-2.5.0}/.idea/analyser-hj3415.iml +0 -0
- {analyser_hj3415-2.4.0 → analyser_hj3415-2.5.0}/.idea/inspectionProfiles/profiles_settings.xml +0 -0
- {analyser_hj3415-2.4.0 → analyser_hj3415-2.5.0}/.idea/misc.xml +0 -0
- {analyser_hj3415-2.4.0 → analyser_hj3415-2.5.0}/.idea/modules.xml +0 -0
- {analyser_hj3415-2.4.0 → analyser_hj3415-2.5.0}/.idea/vcs.xml +0 -0
- {analyser_hj3415-2.4.0 → analyser_hj3415-2.5.0}/LICENSE +0 -0
- {analyser_hj3415-2.4.0 → analyser_hj3415-2.5.0}/README.md +0 -0
- {analyser_hj3415-2.4.0 → analyser_hj3415-2.5.0}/analyser_hj3415/.DS_Store +0 -0
- {analyser_hj3415-2.4.0 → analyser_hj3415-2.5.0}/analyser_hj3415/__init__.py +0 -0
- {analyser_hj3415-2.4.0 → analyser_hj3415-2.5.0}/analyser_hj3415/analysers/eval.py +0 -0
- {analyser_hj3415-2.4.0 → analyser_hj3415-2.5.0}/analyser_hj3415/analysers/report.py +0 -0
- {analyser_hj3415-2.4.0 → analyser_hj3415-2.5.0}/analyser_hj3415/analysers/score.py +0 -0
- {analyser_hj3415-2.4.0 → analyser_hj3415-2.5.0}/analyser_hj3415/tools.py +0 -0
- {analyser_hj3415-2.4.0 → analyser_hj3415-2.5.0}/analyser_hj3415/trash.py +0 -0
@@ -3,9 +3,10 @@ from utils_hj3415 import noti
|
|
3
3
|
|
4
4
|
|
5
5
|
def analyser():
|
6
|
-
from analyser_hj3415.myredis import red_ranking
|
6
|
+
from analyser_hj3415.myredis import red_ranking, mil_n_score
|
7
7
|
commands = {
|
8
|
-
'ranking': red_ranking
|
8
|
+
'ranking': red_ranking,
|
9
|
+
'mil': mil_n_score,
|
9
10
|
}
|
10
11
|
parser = argparse.ArgumentParser()
|
11
12
|
parser.add_argument('command', help=f"Commands - {commands.keys()}")
|
@@ -17,7 +18,14 @@ def analyser():
|
|
17
18
|
if args.command == 'ranking':
|
18
19
|
print(commands['ranking']())
|
19
20
|
if args.noti:
|
20
|
-
noti.telegram_to('manager', "오늘의 red ranking을 저장했습니다.(유효 12시간)")
|
21
|
+
noti.telegram_to('manager', "오늘의 red ranking을 레디스캐시에 저장했습니다.(유효 12시간)")
|
22
|
+
elif args.command == 'mil':
|
23
|
+
print("**** mil_n_score ****")
|
24
|
+
for code, _ in red_ranking().items():
|
25
|
+
print("<<<<< ", code, ">>>>>")
|
26
|
+
print(commands['mil'](code))
|
27
|
+
if args.noti:
|
28
|
+
noti.telegram_to('manager', "오늘의 mil and score를 레디스캐시에 저장했습니다.(유효 12시간)")
|
21
29
|
else:
|
22
30
|
print(f"The command should be in {list(commands.keys())}")
|
23
31
|
|
@@ -23,10 +23,10 @@ def red_ranking() -> OrderedDict:
|
|
23
23
|
# redis에 해당하는 값이 없는 경우
|
24
24
|
data = {}
|
25
25
|
for i, code in enumerate(db_myredis.Corps.list_all_codes()):
|
26
|
-
|
27
|
-
if
|
26
|
+
red_score = score.red(code)
|
27
|
+
if red_score <= 0:
|
28
28
|
continue
|
29
|
-
data[code] =
|
29
|
+
data[code] = red_score
|
30
30
|
# print(i, code, s)
|
31
31
|
|
32
32
|
# print(data)
|
@@ -39,14 +39,11 @@ def red_ranking() -> OrderedDict:
|
|
39
39
|
# ordereddict를 이용해서 딕셔너리의 값을 기준으로 내림차순 정렬함.
|
40
40
|
return OrderedDict(sorted(data.items(), key=lambda item: item[1], reverse=True))
|
41
41
|
else:
|
42
|
-
print(f"Redis 캐시에서 데이터 가져오기(남은시간:{round(Base.redis_client.ttl(redis_name)/3600,1)}시간) - myredis.red_ranking")
|
42
|
+
print(f"Redis 캐시에서 데이터 가져오기(남은시간:{round(Base.redis_client.ttl(redis_name)/3600, 1)}시간) - myredis.red_ranking")
|
43
43
|
# ordereddict를 이용해서 딕셔너리의 값을 기준으로 내림차순 정렬함.
|
44
44
|
return OrderedDict(sorted(json.loads(cached_data).items(), key=lambda item: item[1], reverse=True))
|
45
45
|
|
46
46
|
|
47
|
-
|
48
|
-
|
49
|
-
|
50
47
|
def red_n_score(code: str) -> dict:
|
51
48
|
"""
|
52
49
|
redis 사용 - 소멸타이머 사용
|
@@ -71,12 +68,12 @@ def red_n_score(code: str) -> dict:
|
|
71
68
|
if data:
|
72
69
|
# 데이터를 Redis에 캐싱
|
73
70
|
Base.redis_client.set(redis_name, json.dumps(data))
|
74
|
-
#
|
75
|
-
Base.redis_client.expire(redis_name, 3600)
|
71
|
+
# 12시간 후 키가 자동으로 제거됨
|
72
|
+
Base.redis_client.expire(redis_name, 3600 * 12)
|
76
73
|
print("analysers.eval 데이터 계산하기 - myredis.red")
|
77
74
|
return data
|
78
75
|
else:
|
79
|
-
print(f"Redis 캐시에서 데이터 가져오기(남은시간:{Base.redis_client.ttl(redis_name)}
|
76
|
+
print(f"Redis 캐시에서 데이터 가져오기(남은시간:{round(Base.redis_client.ttl(redis_name)/3600, 1)}시간) - myredis.red")
|
80
77
|
return json.loads(cached_data)
|
81
78
|
|
82
79
|
|
@@ -127,12 +124,12 @@ def mil_n_score(code: str) -> dict:
|
|
127
124
|
if data:
|
128
125
|
# 데이터를 Redis에 캐싱
|
129
126
|
Base.redis_client.set(redis_name, json.dumps(data))
|
130
|
-
#
|
131
|
-
Base.redis_client.expire(redis_name, 3600)
|
127
|
+
# 12시간 후 키가 자동으로 제거됨
|
128
|
+
Base.redis_client.expire(redis_name, 3600 * 12)
|
132
129
|
print("analysers.eval 데이터 계산하기 - myredis.mil")
|
133
130
|
return data
|
134
131
|
else:
|
135
|
-
print(f"Redis 캐시에서 데이터 가져오기(남은시간:{Base.redis_client.ttl(redis_name)}
|
132
|
+
print(f"Redis 캐시에서 데이터 가져오기(남은시간:{round(Base.redis_client.ttl(redis_name)/3600, 1)}시간) - myredis.mil")
|
136
133
|
return json.loads(cached_data)
|
137
134
|
|
138
135
|
|
@@ -179,12 +176,12 @@ def blue_n_score(code: str) -> dict:
|
|
179
176
|
if data:
|
180
177
|
# 데이터를 Redis에 캐싱
|
181
178
|
Base.redis_client.set(redis_name, json.dumps(data))
|
182
|
-
#
|
183
|
-
Base.redis_client.expire(redis_name, 3600)
|
179
|
+
# 12시간 후 키가 자동으로 제거됨
|
180
|
+
Base.redis_client.expire(redis_name, 3600 * 12)
|
184
181
|
print("analysers.eval 데이터 계산하기 - myredis.blue")
|
185
182
|
return data
|
186
183
|
else:
|
187
|
-
print(f"Redis 캐시에서 데이터 가져오기(남은시간:{Base.redis_client.ttl(redis_name)}
|
184
|
+
print(f"Redis 캐시에서 데이터 가져오기(남은시간:{round(Base.redis_client.ttl(redis_name)/3600, 1)}시간) - myredis.blue")
|
188
185
|
return json.loads(cached_data)
|
189
186
|
|
190
187
|
|
@@ -212,10 +209,10 @@ def growth_n_score(code: str) -> dict:
|
|
212
209
|
if data:
|
213
210
|
# 데이터를 Redis에 캐싱
|
214
211
|
Base.redis_client.set(redis_name, json.dumps(data))
|
215
|
-
#
|
216
|
-
Base.redis_client.expire(redis_name, 3600)
|
212
|
+
# 12시간 후 키가 자동으로 제거됨
|
213
|
+
Base.redis_client.expire(redis_name, 3600 * 12)
|
217
214
|
print("analysers.eval 데이터 계산하기 - myredis.growth")
|
218
215
|
return data
|
219
216
|
else:
|
220
|
-
print(f"Redis 캐시에서 데이터 가져오기(남은시간:{Base.redis_client.ttl(redis_name)}
|
217
|
+
print(f"Redis 캐시에서 데이터 가져오기(남은시간:{round(Base.redis_client.ttl(redis_name)/3600, 1)}시간) - myredis.growth")
|
221
218
|
return json.loads(cached_data)
|
@@ -4,7 +4,7 @@ build-backend = "flit_core.buildapi"
|
|
4
4
|
|
5
5
|
[project]
|
6
6
|
name = "analyser_hj3415"
|
7
|
-
version = "2.
|
7
|
+
version = "2.5.0"
|
8
8
|
authors = [{name = "Hyungjin Kim", email = "hj3415@gmail.com"}]
|
9
9
|
description = "Stock analyser and database processing programs"
|
10
10
|
readme = "README.md"
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{analyser_hj3415-2.4.0 → analyser_hj3415-2.5.0}/.idea/inspectionProfiles/profiles_settings.xml
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|