mns-scheduler 1.1.9.6__py3-none-any.whl → 1.1.9.8__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mns-scheduler might be problematic. Click here for more details.
- mns_scheduler/concept/clean/ths_concept_clean_api.py +15 -2
- mns_scheduler/concept/ths/common/ths_concept_sync_common_api.py +18 -13
- mns_scheduler/concept/ths/detaill/ths_concept_detail_api.py +1 -1
- mns_scheduler/concept/ths/sync_new_index/sync_ths_concept_new_index_api.py +2 -1
- {mns_scheduler-1.1.9.6.dist-info → mns_scheduler-1.1.9.8.dist-info}/METADATA +1 -1
- {mns_scheduler-1.1.9.6.dist-info → mns_scheduler-1.1.9.8.dist-info}/RECORD +8 -8
- {mns_scheduler-1.1.9.6.dist-info → mns_scheduler-1.1.9.8.dist-info}/WHEEL +0 -0
- {mns_scheduler-1.1.9.6.dist-info → mns_scheduler-1.1.9.8.dist-info}/top_level.txt +0 -0
|
@@ -76,9 +76,22 @@ def update_one_concept_relevance_industry(concept_code):
|
|
|
76
76
|
ths_stock_concept_detail_df['first_relevance_industry'] = first_relevance_industry
|
|
77
77
|
ths_stock_concept_detail_df['second_relevance_industry'] = second_relevance_industry
|
|
78
78
|
|
|
79
|
-
|
|
79
|
+
new_values_list = {"$set": {"first_relevance_industry": first_relevance_industry,
|
|
80
|
+
"second_relevance_industry": second_relevance_industry,
|
|
81
|
+
"first_relevance_industry_number": first_relevance_industry_number,
|
|
82
|
+
"second_relevance_industry_number": second_relevance_industry_number,
|
|
80
83
|
|
|
81
|
-
|
|
84
|
+
}}
|
|
85
|
+
|
|
86
|
+
update_query = {"symbol": concept_code}
|
|
87
|
+
mongodb_util.update_one_query(update_query, new_values_list, db_name_constant.THS_CONCEPT_LIST)
|
|
88
|
+
|
|
89
|
+
new_values_detail = {"$set": {"first_relevance_industry": first_relevance_industry,
|
|
90
|
+
"second_relevance_industry": second_relevance_industry
|
|
91
|
+
|
|
92
|
+
}}
|
|
93
|
+
update_query_detail = {"concept_code": concept_code}
|
|
94
|
+
mongodb_util.update_one_query(update_query_detail, new_values_detail, db_name_constant.THS_STOCK_CONCEPT_DETAIL)
|
|
82
95
|
|
|
83
96
|
|
|
84
97
|
# 更新空名字
|
|
@@ -38,15 +38,6 @@ def push_msg_to_we_chat_and_redis(concept_code, concept_name, url):
|
|
|
38
38
|
ths_concept_clean_api.update_ths_concept_info()
|
|
39
39
|
|
|
40
40
|
|
|
41
|
-
# 保存新概念信息到数据库
|
|
42
|
-
def save_ths_concept_list(concept_code, concept_name, str_day, str_now_time):
|
|
43
|
-
url = 'http://q.10jqka.com.cn/thshy/detail/code/' + str(concept_code)
|
|
44
|
-
ths_concept_list = pd.DataFrame([
|
|
45
|
-
[concept_code, concept_code, concept_name, str_day, url, str_now_time, True, True, 1, ''],
|
|
46
|
-
], columns=['_id', 'symbol', 'name', 'str_day', 'url', 'str_now_time', 'success', 'valid', 'grade', 'remark'])
|
|
47
|
-
mongodb_util.save_mongo(ths_concept_list, 'ths_concept_list')
|
|
48
|
-
|
|
49
|
-
|
|
50
41
|
# 保存新概念详细信息到数据库
|
|
51
42
|
def save_ths_concept_detail(new_concept_symbol_df,
|
|
52
43
|
concept_name, str_day,
|
|
@@ -136,7 +127,7 @@ def save_ths_concept_detail(new_concept_symbol_df,
|
|
|
136
127
|
query_detail = {"concept_code": int(concept_code)}
|
|
137
128
|
exist_concept_detail = mongodb_util.find_query_data(db_name_constant.THS_STOCK_CONCEPT_DETAIL, query_detail)
|
|
138
129
|
# 更新入选理由
|
|
139
|
-
update_long_short(new_concept_symbol_df)
|
|
130
|
+
update_long_short(new_concept_symbol_df, exist_concept_detail)
|
|
140
131
|
|
|
141
132
|
if exist_concept_detail is None or exist_concept_detail.shape[0] == 0:
|
|
142
133
|
new_concept_symbol_df['grade'] = 1
|
|
@@ -169,7 +160,7 @@ def save_ths_concept_detail(new_concept_symbol_df,
|
|
|
169
160
|
|
|
170
161
|
|
|
171
162
|
# 更新入选理由
|
|
172
|
-
def update_long_short(new_concept_symbol_df):
|
|
163
|
+
def update_long_short(new_concept_symbol_df, exist_concept_detail):
|
|
173
164
|
if data_frame_util.is_empty(new_concept_symbol_df):
|
|
174
165
|
return None
|
|
175
166
|
for new_concept_one in new_concept_symbol_df.itertuples():
|
|
@@ -180,8 +171,22 @@ def update_long_short(new_concept_symbol_df):
|
|
|
180
171
|
mongodb_util.update_many(query, new_values, db_name_constant.THS_STOCK_CONCEPT_DETAIL_APP)
|
|
181
172
|
except BaseException as e:
|
|
182
173
|
logger.error("更新入选理由异常:{}", e)
|
|
183
|
-
|
|
184
|
-
|
|
174
|
+
# 更新已经被删除概念的股票
|
|
175
|
+
update_delete_concept_symbol(list(new_concept_symbol_df['concept_code'])[0], new_concept_symbol_df,
|
|
176
|
+
exist_concept_detail)
|
|
177
|
+
# 更新公司表信息 todo 清空cache 公司表中 common_service_fun_api.py get_company_info_industry
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
## 更新已经被删除这个概念的股票
|
|
181
|
+
def update_delete_concept_symbol(concept_code, new_concept_symbol_df, exist_concept_detail):
|
|
182
|
+
delete_concept_symbol_df = exist_concept_detail.loc[
|
|
183
|
+
~(exist_concept_detail['symbol'].isin(list(new_concept_symbol_df['symbol'])))]
|
|
184
|
+
|
|
185
|
+
if data_frame_util.is_not_empty(delete_concept_symbol_df):
|
|
186
|
+
new_values = {"$set": {"grade": 0}}
|
|
187
|
+
query = {'symbol': {"$in": list(delete_concept_symbol_df['symbol'])}, 'concept_code': concept_code}
|
|
188
|
+
mongodb_util.update_many(query, new_values, db_name_constant.THS_STOCK_CONCEPT_DETAIL)
|
|
189
|
+
mongodb_util.update_many(query, new_values, db_name_constant.THS_STOCK_CONCEPT_DETAIL_APP)
|
|
185
190
|
|
|
186
191
|
|
|
187
192
|
def update_company_info(new_concept_symbol_df):
|
|
@@ -218,7 +218,7 @@ def sync_ths_concept_detail_to_db(concept_code, concept_name):
|
|
|
218
218
|
|
|
219
219
|
|
|
220
220
|
if __name__ == '__main__':
|
|
221
|
-
sync_ths_concept_detail_to_db('
|
|
221
|
+
sync_ths_concept_detail_to_db('885740', '债转股')
|
|
222
222
|
# real_time_quotes_all_stocks_df = east_money_stock_api.get_real_time_quotes_all_stocks()
|
|
223
223
|
# get_ths_concept_detail_by_explain('886084', real_time_quotes_all_stocks_df)
|
|
224
224
|
# get_ths_concept_detail_from_web('886084', real_time_quotes_all_stocks_df)
|
|
@@ -79,8 +79,9 @@ def sync_ths_concept_new_index_from_app():
|
|
|
79
79
|
'remark': ''
|
|
80
80
|
}
|
|
81
81
|
diff_one_df = pd.DataFrame(new_concept_one, index=[1])
|
|
82
|
+
# 保存新增概念信息
|
|
82
83
|
mongodb_util.save_mongo(diff_one_df, db_name_constant.THS_CONCEPT_LIST)
|
|
83
|
-
# 新增概念信息处理
|
|
84
|
+
# 新增概念信息处理 推送到微信
|
|
84
85
|
ths_concept_sync_common_api.push_msg_to_we_chat_and_redis(concept_code, concept_name,
|
|
85
86
|
url)
|
|
86
87
|
# 同步概念详情到db
|
|
@@ -20,15 +20,15 @@ mns_scheduler/company_info/remark/company_remark_info_sync.py,sha256=hzQ8uBK4-od
|
|
|
20
20
|
mns_scheduler/concept/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
21
21
|
mns_scheduler/concept/clean/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
22
22
|
mns_scheduler/concept/clean/kpl_concept_clean_api.py,sha256=xxIIgrXLI6xLf10t4unJa7aMB_QeKeki1HJVeXsntkY,4512
|
|
23
|
-
mns_scheduler/concept/clean/ths_concept_clean_api.py,sha256=
|
|
23
|
+
mns_scheduler/concept/clean/ths_concept_clean_api.py,sha256=iUj9857-6VxEnPNGOjP3NIj-AW1WscsVZJ7T0l6sQ-M,6726
|
|
24
24
|
mns_scheduler/concept/ths/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
25
25
|
mns_scheduler/concept/ths/common/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
26
|
-
mns_scheduler/concept/ths/common/ths_concept_sync_common_api.py,sha256=
|
|
26
|
+
mns_scheduler/concept/ths/common/ths_concept_sync_common_api.py,sha256=OgYueBEL8V7UB1MCv4Y2GzYaDGt6AvQOP3FkGUH_UfA,10217
|
|
27
27
|
mns_scheduler/concept/ths/common/ths_concept_update_common_api.py,sha256=4BQT3A9t-nDIyCpILgRZF7ZOgK1oabp-gJl5nyWvKWc,4418
|
|
28
28
|
mns_scheduler/concept/ths/detaill/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
29
|
-
mns_scheduler/concept/ths/detaill/ths_concept_detail_api.py,sha256=
|
|
29
|
+
mns_scheduler/concept/ths/detaill/ths_concept_detail_api.py,sha256=_azUXNzALQ4I9zHDERYZK7qqMZHxLC8uiSVSEa5v0sI,10882
|
|
30
30
|
mns_scheduler/concept/ths/sync_new_index/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
31
|
-
mns_scheduler/concept/ths/sync_new_index/sync_ths_concept_new_index_api.py,sha256=
|
|
31
|
+
mns_scheduler/concept/ths/sync_new_index/sync_ths_concept_new_index_api.py,sha256=wllTGr3HfP4HSg776I5v6XcMGZMrunSTJCmWwTnT1VU,7923
|
|
32
32
|
mns_scheduler/concept/ths/update_concept_info/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
33
33
|
mns_scheduler/concept/ths/update_concept_info/sync_one_concept_all_symbols_api.py,sha256=wwuLfjj9AnFcHP-oQPC5AhpwgZ8IsPiNUh-Z6swcngA,1380
|
|
34
34
|
mns_scheduler/concept/ths/update_concept_info/sync_one_symbol_all_concepts_api.py,sha256=eWAgszLtmKcC9kF3Y00cPbT9A379_RLqWSm-wr-9bqQ,9406
|
|
@@ -142,7 +142,7 @@ mns_scheduler/zt/zt_pool/ths_zt_pool_sync_api.py,sha256=Sy39T-yFwLSIIoSZqQzS-6-W
|
|
|
142
142
|
mns_scheduler/zt/zt_pool/update_null_zt_reason_api.py,sha256=OuklSKUhZMj1aKcwDLpZilKIqFbHY3hvvIuA_UFnPqA,2135
|
|
143
143
|
mns_scheduler/zz_task/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
144
144
|
mns_scheduler/zz_task/data_sync_task.py,sha256=b-hv4OBJr9qsmhtCA3k88Odj2WGThuLrn0NkvKIgx0o,21195
|
|
145
|
-
mns_scheduler-1.1.9.
|
|
146
|
-
mns_scheduler-1.1.9.
|
|
147
|
-
mns_scheduler-1.1.9.
|
|
148
|
-
mns_scheduler-1.1.9.
|
|
145
|
+
mns_scheduler-1.1.9.8.dist-info/METADATA,sha256=vAvCBlzE6tgyLpqQgJYUGA6iAVFFdQLQ311WNLs2p6Q,64
|
|
146
|
+
mns_scheduler-1.1.9.8.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
|
147
|
+
mns_scheduler-1.1.9.8.dist-info/top_level.txt,sha256=PXQDFBGR1pWmsUbH5yiLAh71P5HZODTRED0zJ8CCgOc,14
|
|
148
|
+
mns_scheduler-1.1.9.8.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|