mns-scheduler 1.1.0.1__tar.gz → 1.1.0.2__tar.gz

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.

Files changed (129) hide show
  1. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/PKG-INFO +1 -1
  2. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/concept/ths/common/ths_concept_update_common_api.py +0 -2
  3. mns-scheduler-1.1.0.2/mns_scheduler/concept/ths/sync_new_index/sync_ths_concept_new_index_api.py +170 -0
  4. mns-scheduler-1.1.0.2/mns_scheduler/risk/transactions/__init__.py +0 -0
  5. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/zz_task/data_sync_task.py +19 -28
  6. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler.egg-info/PKG-INFO +1 -1
  7. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler.egg-info/SOURCES.txt +4 -2
  8. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/setup.py +1 -1
  9. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/README.md +0 -0
  10. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/__init__.py +0 -0
  11. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/backup/__init__.py +0 -0
  12. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/backup/em/__init__.py +0 -0
  13. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/backup/em/em_new_concept_his_sync.py +0 -0
  14. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/backup/em/em_new_concept_sync_common_api.py +0 -0
  15. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/backup/em/em_new_concept_sync_web.py +0 -0
  16. {mns-scheduler-1.1.0.1/mns_scheduler/concept/common → mns-scheduler-1.1.0.2/mns_scheduler/backup/ths}/__init__.py +0 -0
  17. {mns-scheduler-1.1.0.1/mns_scheduler/concept/ths/sync_new_index → mns-scheduler-1.1.0.2/mns_scheduler/backup/ths}/sync_ths_concept_by_ak_api.py +0 -0
  18. {mns-scheduler-1.1.0.1/mns_scheduler/concept/ths/sync_new_index → mns-scheduler-1.1.0.2/mns_scheduler/backup/ths}/sync_ths_new_concept_by_web_api.py +0 -0
  19. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/big_deal/__init__.py +0 -0
  20. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/big_deal/ths_big_deal_sync.py +0 -0
  21. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/company_info/__init__.py +0 -0
  22. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/company_info/company_constant_data.py +0 -0
  23. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/company_info/company_info_sync_api.py +0 -0
  24. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/company_info/de_list_stock_service.py +0 -0
  25. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/concept/__init__.py +0 -0
  26. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/concept/clean/__init__.py +0 -0
  27. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/concept/clean/kpl_concept_clean_api.py +0 -0
  28. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/concept/clean/ths_concept_clean_api.py +0 -0
  29. {mns-scheduler-1.1.0.1/mns_scheduler/concept/common/detaill → mns-scheduler-1.1.0.2/mns_scheduler/concept/common}/__init__.py +0 -0
  30. {mns-scheduler-1.1.0.1/mns_scheduler/risk/compliance → mns-scheduler-1.1.0.2/mns_scheduler/concept/common/detaill}/__init__.py +0 -0
  31. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/concept/common/detaill/ths_concept_detail_api.py +0 -0
  32. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/concept/ths/__init__.py +0 -0
  33. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/concept/ths/common/__init__.py +0 -0
  34. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/concept/ths/common/ths_concept_sync_common_api.py +0 -0
  35. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/concept/ths/sync_new_index/__init__.py +0 -0
  36. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/concept/ths/update_concept_info/__init__.py +0 -0
  37. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/concept/ths/update_concept_info/sync_one_concept_all_symbols_api.py +0 -0
  38. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/concept/ths/update_concept_info/sync_one_symbol_all_concepts_api.py +0 -0
  39. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/db/__init__.py +0 -0
  40. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/db/col_move_service.py +0 -0
  41. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/db/db_status.py +0 -0
  42. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/dt/__init__.py +0 -0
  43. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/dt/stock_dt_pool_sync.py +0 -0
  44. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/finance/__init__.py +0 -0
  45. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/finance/em_financial_asset_liability_sync_service_api.py +0 -0
  46. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/finance/em_financial_profit_sync_service_api.py +0 -0
  47. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/finance/finance_common_api.py +0 -0
  48. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/finance/sync_financial_report_service_api.py +0 -0
  49. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/hk/__init__.py +0 -0
  50. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/hk/hk_company_info_sync_service_api.py +0 -0
  51. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/irm/__init__.py +0 -0
  52. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/irm/api/__init__.py +0 -0
  53. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/irm/api/sh_stock_sns_sse_info_api.py +0 -0
  54. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/irm/api/sz_stock_sns_sse_info_api.py +0 -0
  55. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/irm/stock_irm_cninfo_service.py +0 -0
  56. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/k_line/__init__.py +0 -0
  57. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/k_line/clean/__init__.py +0 -0
  58. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/k_line/clean/daily/__init__.py +0 -0
  59. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/k_line/clean/daily/daily_k_line_clean_common_service.py +0 -0
  60. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/k_line/clean/daily/daily_k_line_service.py +0 -0
  61. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/k_line/clean/k_line_info_clean_impl.py +0 -0
  62. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/k_line/clean/k_line_info_clean_task.py +0 -0
  63. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/k_line/clean/week_month/__init__.py +0 -0
  64. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/k_line/clean/week_month/normal_week_month_k_line_service.py +0 -0
  65. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/k_line/clean/week_month/sub_new_week_month_k_line_service.py +0 -0
  66. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/k_line/hot_stocks/__init__.py +0 -0
  67. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/k_line/hot_stocks/recent_hot_stocks_clean_service.py +0 -0
  68. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/k_line/sync/__init__.py +0 -0
  69. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/k_line/sync/daily_week_month_line_sync.py +0 -0
  70. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/k_line/test/__init__.py +0 -0
  71. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/k_line/test/k_line_info_clean_his_data.py +0 -0
  72. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/kpl/__init__.py +0 -0
  73. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/kpl/selection/__init__.py +0 -0
  74. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/kpl/selection/index/__init__.py +0 -0
  75. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/kpl/selection/index/sync_best_choose_his_index.py +0 -0
  76. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/kpl/selection/index/sync_best_choose_index.py +0 -0
  77. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/kpl/selection/symbol/__init__.py +0 -0
  78. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/kpl/selection/symbol/sync_best_choose_symbol.py +0 -0
  79. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/kpl/selection/total/__init__.py +0 -0
  80. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/kpl/selection/total/sync_kpl_best_total_sync_api.py +0 -0
  81. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/lhb/__init__.py +0 -0
  82. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/lhb/stock_lhb_sync_service.py +0 -0
  83. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/open/__init__.py +0 -0
  84. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/open/sync_one_day_open_data_to_db_service.py +0 -0
  85. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/real_time/__init__.py +0 -0
  86. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/real_time/realtime_quotes_now_create_db_index.py +0 -0
  87. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/real_time/realtime_quotes_now_sync.py +0 -0
  88. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/risk/__init__.py +0 -0
  89. {mns-scheduler-1.1.0.1/mns_scheduler/risk/financial → mns-scheduler-1.1.0.2/mns_scheduler/risk/compliance}/__init__.py +0 -0
  90. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/risk/compliance/undisclosed_annual_report_api.py +0 -0
  91. {mns-scheduler-1.1.0.1/mns_scheduler/risk/major_violations → mns-scheduler-1.1.0.2/mns_scheduler/risk/financial}/__init__.py +0 -0
  92. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/risk/financial/annual_report_audit_check_api.py +0 -0
  93. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/risk/financial/net_assets_check_api.py +0 -0
  94. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/risk/financial/profit_income_check_api.py +0 -0
  95. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/risk/financial/stock_equity_mortgage_check_api.py +0 -0
  96. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/risk/financial_report_risk_check_api.py +0 -0
  97. {mns-scheduler-1.1.0.1/mns_scheduler/risk/self → mns-scheduler-1.1.0.2/mns_scheduler/risk/major_violations}/__init__.py +0 -0
  98. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/risk/major_violations/register_and_investigate_stock_sync_api.py +0 -0
  99. {mns-scheduler-1.1.0.1/mns_scheduler/risk/transactions → mns-scheduler-1.1.0.2/mns_scheduler/risk/self}/__init__.py +0 -0
  100. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/risk/self/wei_pan_stock_api.py +0 -0
  101. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/risk/test/__init__.py +0 -0
  102. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/risk/test/fix_blask_list.py +0 -0
  103. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/risk/transactions/transactions_check_api.py +0 -0
  104. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/trade/__init__.py +0 -0
  105. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/trade/auto_ipo_buy_api.py +0 -0
  106. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/trade/auto_sell_service_api.py +0 -0
  107. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/trade/sync_position_api.py +0 -0
  108. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/zb/__init__.py +0 -0
  109. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/zb/stock_zb_pool_sync.py +0 -0
  110. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/zt/__init__.py +0 -0
  111. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/zt/connected_boards/__init__.py +0 -0
  112. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/zt/connected_boards/zt_five_boards_sync_api.py +0 -0
  113. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/zt/export/__init__.py +0 -0
  114. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/zt/export/export_kcx_high_chg_open_data_to_excel.py +0 -0
  115. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/zt/high_chg/__init__.py +0 -0
  116. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/zt/high_chg/sync_high_chg_pool_service.py +0 -0
  117. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/zt/high_chg/sync_high_chg_real_time_quotes_service.py +0 -0
  118. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/zt/open_data/__init__.py +0 -0
  119. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/zt/open_data/kcx_high_chg_open_data_sync.py +0 -0
  120. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/zt/script/__init__.py +0 -0
  121. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/zt/script/kcx_high_chg_open_his_data_handle.py +0 -0
  122. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/zt/script/sync_high_chg_pool_his_data.py +0 -0
  123. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/zt/zt_pool/__init__.py +0 -0
  124. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/zt/zt_pool/zt_pool_sync_api.py +0 -0
  125. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/zz_task/__init__.py +0 -0
  126. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler/zz_task/sync_realtime_quotes_task.py +0 -0
  127. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler.egg-info/dependency_links.txt +0 -0
  128. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/mns_scheduler.egg-info/top_level.txt +0 -0
  129. {mns-scheduler-1.1.0.1 → mns-scheduler-1.1.0.2}/setup.cfg +0 -0
@@ -1,3 +1,3 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns-scheduler
3
- Version: 1.1.0.1
3
+ Version: 1.1.0.2
@@ -14,8 +14,6 @@ import mns_common.constant.db_name_constant as db_name_constant
14
14
  import mns_common.component.trade_date.trade_date_common_service_api as trade_date_common_service_api
15
15
  from datetime import datetime
16
16
  import mns_common.api.ths.concept.web.ths_concept_detail_web as ths_concept_detail_web
17
- import pandas as pd
18
-
19
17
  mongodb_util = MongodbUtil('27017')
20
18
 
21
19
 
@@ -0,0 +1,170 @@
1
+ import sys
2
+ import os
3
+
4
+ file_path = os.path.abspath(__file__)
5
+ end = file_path.index('mns') + 17
6
+ project_path = file_path[0:end]
7
+ sys.path.append(project_path)
8
+ import mns_common.api.ths.concept.app.ths_concept_index_app as ths_concept_index_app
9
+ import mns_scheduler.concept.ths.common.ths_concept_sync_common_api as ths_concept_sync_common_api
10
+ import mns_common.utils.data_frame_util as data_frame_util
11
+ from loguru import logger
12
+ import mns_common.api.ths.concept.web.ths_concept_index_web as ths_concept_index_web
13
+ from mns_common.db.MongodbUtil import MongodbUtil
14
+ from datetime import datetime
15
+ import mns_scheduler.concept.clean.ths_concept_clean_api as ths_concept_clean_api
16
+ import pandas as pd
17
+ import mns_scheduler.concept.common.detaill.ths_concept_detail_api as ths_concept_detail_api
18
+ import mns_common.constant.db_name_constant as db_name_constant
19
+
20
+ mongodb_util = MongodbUtil('27017')
21
+
22
+
23
+ def sync_ths_concept_new_index():
24
+ # 同步ths新概念 通过app搜索
25
+ sync_ths_concept_new_index_from_app()
26
+ # 通过ths详情搜索
27
+ sync_ths_concept_new_index_from_detail()
28
+
29
+
30
+ '''
31
+ 同步ths新概念 通过app搜索
32
+ '''
33
+
34
+
35
+ def sync_ths_concept_new_index_from_app():
36
+ # 当前最大概念代码
37
+ max_concept_code = ths_concept_sync_common_api.get_max_concept_code()
38
+ # 最大概念代码上线
39
+ max_concept_code_limit = max_concept_code + 2
40
+ # 同花顺概念列表
41
+ ths_concept_list_exist = mongodb_util.find_all_data(db_name_constant.THS_CONCEPT_LIST)
42
+ # 同步向上3次
43
+ while max_concept_code <= max_concept_code_limit:
44
+ try:
45
+ max_concept_code = max_concept_code + 1
46
+ concept_new_index_df = ths_concept_index_app.get_new_concept_from_app_search(max_concept_code)
47
+ if data_frame_util.is_empty(concept_new_index_df):
48
+ continue
49
+ concept_name = list(concept_new_index_df['concept_name'])[0]
50
+
51
+ if data_frame_util.is_string_empty(concept_name):
52
+ concept_name = ths_concept_index_web.get_concept_name(max_concept_code)
53
+
54
+ exist_concept_df_one = ths_concept_list_exist.loc[
55
+ (ths_concept_list_exist['symbol'] == max_concept_code)
56
+ | (ths_concept_list_exist['web_concept_code'] == max_concept_code)]
57
+ now_date = datetime.now()
58
+ str_now_time = now_date.strftime('%Y-%m-%d %H:%M:%S')
59
+ str_day = now_date.strftime('%Y-%m-%d')
60
+ if data_frame_util.is_empty(exist_concept_df_one):
61
+ concept_code = max_concept_code
62
+
63
+ url = 'http://q.10jqka.com.cn/thshy/detail/code/' + str(concept_code)
64
+ new_concept_one = {
65
+ '_id': int(concept_code),
66
+ 'symbol': int(concept_code),
67
+ 'name': concept_name,
68
+ 'url': url,
69
+ 'str_day': str_day,
70
+ 'success': True,
71
+ 'str_now_time': str_now_time,
72
+ 'web_concept_code': concept_code,
73
+ 'web_concept_url': url,
74
+ 'valid': True
75
+ }
76
+ diff_one_df = pd.DataFrame(new_concept_one, index=[1])
77
+ mongodb_util.save_mongo(diff_one_df, db_name_constant.THS_CONCEPT_LIST)
78
+ # 新增概念信息处理
79
+ handle_new_concept_msg(concept_code, concept_name, url)
80
+
81
+ new_concept_symbol_detail_df = ths_concept_detail_api.get_ths_concept_detail(concept_code, concept_name)
82
+ if data_frame_util.is_empty(new_concept_symbol_detail_df):
83
+ continue
84
+ new_concept_symbol_detail_df.loc[:, 'way'] = 'index_sync'
85
+ ths_concept_sync_common_api.save_ths_concept_detail(new_concept_symbol_detail_df,
86
+ concept_name,
87
+ str_day,
88
+ str_now_time, concept_code)
89
+ # 更新ths概念统计信息
90
+ ths_concept_clean_api.update_ths_concept_info()
91
+
92
+ logger.info("新增同花顺新概念:{}", concept_name)
93
+
94
+ except BaseException as e:
95
+ logger.error("同步新增概念代码:{},信息异常:{}", max_concept_code, e)
96
+
97
+
98
+ '''
99
+ 同步新概念 by ths detail
100
+ '''
101
+
102
+
103
+ def sync_ths_concept_new_index_from_detail():
104
+ # 当前最大概念代码
105
+ max_concept_code = ths_concept_sync_common_api.get_max_concept_code()
106
+ # 最大概念代码上线
107
+ max_concept_code_limit = max_concept_code + 2
108
+ # 同花顺概念列表
109
+ ths_concept_list_exist = mongodb_util.find_all_data(db_name_constant.THS_CONCEPT_LIST)
110
+ # 同步向上3次
111
+ while max_concept_code <= max_concept_code_limit:
112
+ try:
113
+ max_concept_code = max_concept_code + 1
114
+ concept_code = max_concept_code
115
+ concept_name = ths_concept_index_web.get_concept_name(concept_code)
116
+ new_concept_symbol_detail_df = ths_concept_detail_api.get_ths_concept_detail(concept_code, concept_name)
117
+ if data_frame_util.is_empty(new_concept_symbol_detail_df):
118
+ continue
119
+
120
+ exist_concept_df_one = ths_concept_list_exist.loc[
121
+ (ths_concept_list_exist['symbol'] == concept_code)
122
+ | (ths_concept_list_exist['web_concept_code'] == concept_code)]
123
+ now_date = datetime.now()
124
+ str_now_time = now_date.strftime('%Y-%m-%d %H:%M:%S')
125
+ str_day = now_date.strftime('%Y-%m-%d')
126
+ if data_frame_util.is_empty(exist_concept_df_one):
127
+ concept_code = max_concept_code
128
+
129
+ url = 'http://q.10jqka.com.cn/thshy/detail/code/' + str(concept_code)
130
+ new_concept_one = {
131
+ '_id': int(concept_code),
132
+ 'symbol': int(concept_code),
133
+ 'name': concept_name,
134
+ 'url': url,
135
+ 'str_day': str_day,
136
+ 'success': True,
137
+ 'str_now_time': str_now_time,
138
+ 'web_concept_code': concept_code,
139
+ 'web_concept_url': url,
140
+ 'valid': True
141
+ }
142
+ diff_one_df = pd.DataFrame(new_concept_one, index=[1])
143
+ mongodb_util.save_mongo(diff_one_df, db_name_constant.THS_CONCEPT_LIST)
144
+ # 新增概念信息处理
145
+ handle_new_concept_msg(concept_code, concept_name, url)
146
+
147
+ new_concept_symbol_detail_df.loc[:, 'way'] = 'index_sync'
148
+ ths_concept_sync_common_api.save_ths_concept_detail(new_concept_symbol_detail_df,
149
+ concept_name,
150
+ str_day,
151
+ str_now_time,
152
+ concept_code)
153
+ # 更新ths概念统计信息
154
+ ths_concept_clean_api.update_ths_concept_info()
155
+
156
+ logger.info("新增同花顺新概念:{}", concept_name)
157
+
158
+ except BaseException as e:
159
+ logger.error("同步新增概念代码:{},信息异常:{}", max_concept_code, e)
160
+
161
+
162
+ # 新增消息处理
163
+ def handle_new_concept_msg(concept_code, concept_name, url):
164
+ # 推送新概念信息到微信
165
+ ths_concept_sync_common_api.push_msg_to_we_chat_web(concept_code, concept_name,
166
+ url)
167
+
168
+
169
+ if __name__ == '__main__':
170
+ sync_ths_concept_new_index_from_detail()
@@ -31,8 +31,6 @@ import \
31
31
  mns_scheduler.concept.ths.update_concept_info.sync_one_concept_all_symbols_api as sync_one_concept_all_symbols_api
32
32
  import \
33
33
  mns_scheduler.concept.ths.update_concept_info.sync_one_symbol_all_concepts_api as sync_one_symbol_all_concepts_api
34
- import mns_scheduler.concept.ths.sync_new_index.sync_ths_new_concept_by_web_api as sync_ths_new_concept_by_web_api
35
- import mns_scheduler.concept.ths.sync_new_index.sync_ths_concept_by_ak_api as sync_ths_concept_by_ak_api
36
34
  import mns_scheduler.kpl.selection.total.sync_kpl_best_total_sync_api as sync_kpl_best_total_sync_api
37
35
  import mns_scheduler.company_info.company_info_sync_api as company_info_sync_api
38
36
  import mns_scheduler.trade.auto_ipo_buy_api as auto_ipo_buy_api
@@ -47,6 +45,7 @@ import mns_scheduler.zt.high_chg.sync_high_chg_pool_service as sync_high_chg_poo
47
45
  import mns_scheduler.zt.high_chg.sync_high_chg_real_time_quotes_service as sync_high_chg_real_time_quotes_service
48
46
  import mns_scheduler.risk.self.wei_pan_stock_api as wei_pan_stock_api
49
47
  import mns_scheduler.risk.transactions.transactions_check_api as transactions_check_api
48
+ import mns_scheduler.concept.ths.sync_new_index.sync_ths_concept_new_index_api as sync_ths_concept_new_index_api
50
49
 
51
50
 
52
51
  # 同步交易日期任务完成
@@ -238,24 +237,14 @@ def concept_info_clean():
238
237
  def update_one_concept_all_symbol_detail():
239
238
  logger.info('同步概念下所有股票组成')
240
239
  sync_one_concept_all_symbols_api.update_concept_all_symbol_detail()
241
- update_ths_concept_choose_null_reason()
240
+ ths_concept_update_common_api.update_ths_concept_choose_null_reason()
242
241
 
243
242
 
244
243
  # 同步单只股票下所有概念 by 股票代码
245
244
  def update_one_symbol_all_concepts():
246
245
  logger.info('同步单只股票所有概念组成')
247
246
  sync_one_symbol_all_concepts_api.sync_symbol_all_concept(None)
248
- update_ths_concept_choose_null_reason()
249
-
250
-
251
- # 同步同花顺新增概念指数通过web端接口爬取 8开头
252
- def sync_new_concept_data_by_web():
253
- sync_ths_new_concept_by_web_api.sync_new_concept_data_by_web()
254
-
255
-
256
- # 同步同花顺新增概念指数通过ak_share接口爬取 3开头
257
- def sync_new_ths_concept_by_ak_api():
258
- sync_ths_concept_by_ak_api.sync_new_ths_concept_by_ak_api()
247
+ ths_concept_update_common_api.update_ths_concept_choose_null_reason()
259
248
 
260
249
 
261
250
  # 同步开盘啦精选指数
@@ -270,20 +259,22 @@ def update_best_choose_plate_relation():
270
259
  sync_kpl_best_total_sync_api.update_best_choose_plate_relation()
271
260
 
272
261
 
273
- # 同步新概念通过web端
274
- def sync_new_concept_data_web():
275
- # 同步同花顺新增概念指数通过web端接口爬取
276
- sync_new_concept_data_by_web()
277
- # 同步同花顺新增概念指数通过ak_share接口爬取
278
- sync_new_ths_concept_by_ak_api()
279
- update_ths_concept_choose_null_reason()
280
- logger.info("同步新概念web端数据任务完成")
262
+ # 同步ths新概念
263
+ def sync_new_concept_index():
264
+ sync_ths_concept_new_index_api.sync_ths_concept_new_index()
265
+ logger.info("同步ths新概念任务完成")
281
266
 
282
-
283
- # 更新空的入选概念
284
- def update_ths_concept_choose_null_reason():
285
- logger.info("更新空的入选概念")
286
267
  ths_concept_update_common_api.update_ths_concept_choose_null_reason()
268
+ logger.info("更新空的入选概念任务完成")
269
+
270
+
271
+ # 同步ths新概念 轮训任务
272
+ def sync_new_concept_index_task():
273
+ now_date = datetime.now()
274
+ hour = now_date.hour
275
+ if hour != 9:
276
+ sync_ths_concept_new_index_api.sync_ths_concept_new_index()
277
+ logger.info("同步ths新概念任务完成")
287
278
 
288
279
 
289
280
  # 清洗公司基本信息
@@ -393,10 +384,10 @@ blockingScheduler.add_job(update_one_concept_all_symbol_detail, 'cron', hour='08
393
384
  blockingScheduler.add_job(update_one_symbol_all_concepts, 'cron', hour='09,18,12', minute='15')
394
385
 
395
386
  # 开盘前同步同花顺新概念指数
396
- blockingScheduler.add_job(sync_new_concept_data_web, 'cron', hour='09,22', minute='00,10,20,28')
387
+ blockingScheduler.add_job(sync_new_concept_index, 'cron', hour='09,22', minute='01,10,20,28,41,58')
397
388
 
398
389
  # 同步同花顺新增概念指数(定时轮训,暂时10分钟)
399
- # blockingScheduler.add_job(sync_new_concept_data_web, 'interval', minutes=10, max_instances=4)
390
+ blockingScheduler.add_job(sync_new_concept_index_task, 'interval', minutes=10, max_instances=4)
400
391
 
401
392
  # 同步开盘啦新增精选概念(定时轮训,暂时五分钟)
402
393
  blockingScheduler.add_job(sync_all_kpl_plate_info, 'interval', minutes=5, max_instances=4)
@@ -1,3 +1,3 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns-scheduler
3
- Version: 1.1.0.1
3
+ Version: 1.1.0.2
@@ -10,6 +10,9 @@ mns_scheduler/backup/em/__init__.py
10
10
  mns_scheduler/backup/em/em_new_concept_his_sync.py
11
11
  mns_scheduler/backup/em/em_new_concept_sync_common_api.py
12
12
  mns_scheduler/backup/em/em_new_concept_sync_web.py
13
+ mns_scheduler/backup/ths/__init__.py
14
+ mns_scheduler/backup/ths/sync_ths_concept_by_ak_api.py
15
+ mns_scheduler/backup/ths/sync_ths_new_concept_by_web_api.py
13
16
  mns_scheduler/big_deal/__init__.py
14
17
  mns_scheduler/big_deal/ths_big_deal_sync.py
15
18
  mns_scheduler/company_info/__init__.py
@@ -28,8 +31,7 @@ mns_scheduler/concept/ths/common/__init__.py
28
31
  mns_scheduler/concept/ths/common/ths_concept_sync_common_api.py
29
32
  mns_scheduler/concept/ths/common/ths_concept_update_common_api.py
30
33
  mns_scheduler/concept/ths/sync_new_index/__init__.py
31
- mns_scheduler/concept/ths/sync_new_index/sync_ths_concept_by_ak_api.py
32
- mns_scheduler/concept/ths/sync_new_index/sync_ths_new_concept_by_web_api.py
34
+ mns_scheduler/concept/ths/sync_new_index/sync_ths_concept_new_index_api.py
33
35
  mns_scheduler/concept/ths/update_concept_info/__init__.py
34
36
  mns_scheduler/concept/ths/update_concept_info/sync_one_concept_all_symbols_api.py
35
37
  mns_scheduler/concept/ths/update_concept_info/sync_one_symbol_all_concepts_api.py
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name='mns-scheduler',
5
- version='1.1.0.1',
5
+ version='1.1.0.2',
6
6
  packages=find_packages(),
7
7
  install_requires=[], # 如果有依赖项,可以在这里列出
8
8
  )