mns-scheduler 1.2.9.6__tar.gz → 1.2.9.8__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 (191) hide show
  1. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/PKG-INFO +1 -1
  2. mns-scheduler-1.2.9.8/mns_scheduler/baidu/baidu_yun_pan_handle_service.py +122 -0
  3. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/company_info/base/sync_company_base_info_api.py +2 -0
  4. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/company_info/constant/company_constant_data.py +1 -0
  5. mns-scheduler-1.2.9.8/mns_scheduler/extraIncome/one_minute/upload/upload_to_baidu_task.py +83 -0
  6. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/risk/financial/profit_income_check_api.py +0 -1
  7. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/risk/test/fix_blask_list.py +1 -1
  8. mns-scheduler-1.2.9.8/mns_scheduler/us/__init__.py +7 -0
  9. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/us/baidu_yun_pan_handle_service.py +91 -131
  10. mns-scheduler-1.2.9.8/mns_scheduler/zt/script/__init__.py +7 -0
  11. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler.egg-info/PKG-INFO +1 -1
  12. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler.egg-info/SOURCES.txt +4 -0
  13. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/setup.py +1 -1
  14. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/README.md +0 -0
  15. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/__init__.py +0 -0
  16. {mns-scheduler-1.2.9.6/mns_scheduler/company_info/announce → mns-scheduler-1.2.9.8/mns_scheduler/baidu}/__init__.py +0 -0
  17. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/big_deal/__init__.py +0 -0
  18. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/big_deal/ths_big_deal_sync.py +0 -0
  19. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/company_info/__init__.py +0 -0
  20. {mns-scheduler-1.2.9.6/mns_scheduler/company_info/base → mns-scheduler-1.2.9.8/mns_scheduler/company_info/announce}/__init__.py +0 -0
  21. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/company_info/announce/company_announce_sync_service.py +0 -0
  22. {mns-scheduler-1.2.9.6/mns_scheduler/company_info/clean → mns-scheduler-1.2.9.8/mns_scheduler/company_info/base}/__init__.py +0 -0
  23. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/company_info/base/sync_company_hold_info_api.py +0 -0
  24. {mns-scheduler-1.2.9.6/mns_scheduler/company_info/constant → mns-scheduler-1.2.9.8/mns_scheduler/company_info/clean}/__init__.py +0 -0
  25. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/company_info/clean/company_info_clean_api.py +0 -0
  26. {mns-scheduler-1.2.9.6/mns_scheduler/company_info/de_list_stock → mns-scheduler-1.2.9.8/mns_scheduler/company_info/constant}/__init__.py +0 -0
  27. {mns-scheduler-1.2.9.6/mns_scheduler/company_info/em_stock_info → mns-scheduler-1.2.9.8/mns_scheduler/company_info/de_list_stock}/__init__.py +0 -0
  28. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/company_info/de_list_stock/de_list_stock_service.py +0 -0
  29. {mns-scheduler-1.2.9.6/mns_scheduler/company_info/remark → mns-scheduler-1.2.9.8/mns_scheduler/company_info/em_stock_info}/__init__.py +0 -0
  30. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/company_info/em_stock_info/sync_em_stock_info_sync.py +0 -0
  31. {mns-scheduler-1.2.9.6/mns_scheduler/db/script → mns-scheduler-1.2.9.8/mns_scheduler/company_info/remark}/__init__.py +0 -0
  32. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/company_info/remark/company_remark_info_sync.py +0 -0
  33. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/concept/__init__.py +0 -0
  34. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/concept/clean/__init__.py +0 -0
  35. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/concept/clean/kpl_concept_clean_api.py +0 -0
  36. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/concept/clean/ths_concept_clean_api.py +0 -0
  37. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/concept/ths/__init__.py +0 -0
  38. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/concept/ths/common/__init__.py +0 -0
  39. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/concept/ths/common/ths_concept_sync_common_api.py +0 -0
  40. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/concept/ths/common/ths_concept_update_common_api.py +0 -0
  41. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/concept/ths/detaill/__init__.py +0 -0
  42. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/concept/ths/detaill/ths_concept_detail_api.py +0 -0
  43. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/concept/ths/sync_new_index/__init__.py +0 -0
  44. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/concept/ths/sync_new_index/sync_ths_concept_new_index_api.py +0 -0
  45. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/concept/ths/update_concept_info/__init__.py +0 -0
  46. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/concept/ths/update_concept_info/sync_one_concept_all_symbols_api.py +0 -0
  47. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/concept/ths/update_concept_info/sync_one_symbol_all_concepts_api.py +0 -0
  48. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/db/__init__.py +0 -0
  49. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/db/col_move_service.py +0 -0
  50. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/db/db_status.py +0 -0
  51. {mns-scheduler-1.2.9.6/mns_scheduler/db/script/db_move → mns-scheduler-1.2.9.8/mns_scheduler/db/script}/__init__.py +0 -0
  52. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/db/script/col_move_script.py +0 -0
  53. {mns-scheduler-1.2.9.6/mns_scheduler/db/script/sync → mns-scheduler-1.2.9.8/mns_scheduler/db/script/db_move}/__init__.py +0 -0
  54. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/db/script/db_move/col_move_one_service.py +0 -0
  55. {mns-scheduler-1.2.9.6/mns_scheduler/db/script/update → mns-scheduler-1.2.9.8/mns_scheduler/db/script/sync}/__init__.py +0 -0
  56. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/db/script/sync/local_mongo_util.py +0 -0
  57. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/db/script/sync/remote_data_sync_to_local.py +0 -0
  58. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/db/script/sync/remote_mongo_util.py +0 -0
  59. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/db/script/sync/sync_hui_ce_test_data.py +0 -0
  60. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/db/script/sync/sync_hui_ce_test_data_01.py +0 -0
  61. {mns-scheduler-1.2.9.6/mns_scheduler/debt → mns-scheduler-1.2.9.8/mns_scheduler/db/script/update}/__init__.py +0 -0
  62. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/db/script/update/update_col_field.py +0 -0
  63. {mns-scheduler-1.2.9.6/mns_scheduler/extraIncome → mns-scheduler-1.2.9.8/mns_scheduler/debt}/__init__.py +0 -0
  64. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/debt/kzz_bond_info_sync.py +0 -0
  65. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/dt/__init__.py +0 -0
  66. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/dt/stock_dt_pool_sync.py +0 -0
  67. {mns-scheduler-1.2.9.6/mns_scheduler/extraIncome/one_minute → mns-scheduler-1.2.9.8/mns_scheduler/extraIncome}/__init__.py +0 -0
  68. {mns-scheduler-1.2.9.6/mns_scheduler/extraIncome/one_minute/common → mns-scheduler-1.2.9.8/mns_scheduler/extraIncome/one_minute}/__init__.py +0 -0
  69. {mns-scheduler-1.2.9.6/mns_scheduler/extraIncome/one_minute/etf → mns-scheduler-1.2.9.8/mns_scheduler/extraIncome/one_minute/common}/__init__.py +0 -0
  70. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/extraIncome/one_minute/common/db_create_index.py +0 -0
  71. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/extraIncome/one_minute/common/symbol_handle_util.py +0 -0
  72. {mns-scheduler-1.2.9.6/mns_scheduler/extraIncome/one_minute/index → mns-scheduler-1.2.9.8/mns_scheduler/extraIncome/one_minute/etf}/__init__.py +0 -0
  73. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/extraIncome/one_minute/etf/etf_one_minute_sync_task.py +0 -0
  74. {mns-scheduler-1.2.9.6/mns_scheduler/extraIncome/one_minute/kzz → mns-scheduler-1.2.9.8/mns_scheduler/extraIncome/one_minute/index}/__init__.py +0 -0
  75. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/extraIncome/one_minute/index/main_index_sync_task.py +0 -0
  76. {mns-scheduler-1.2.9.6/mns_scheduler/extraIncome/one_minute/stock → mns-scheduler-1.2.9.8/mns_scheduler/extraIncome/one_minute/kzz}/__init__.py +0 -0
  77. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/extraIncome/one_minute/kzz/kzz_one_minute_sync_task.py +0 -0
  78. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/extraIncome/one_minute/one_minute_sync_task.py +0 -0
  79. {mns-scheduler-1.2.9.6/mns_scheduler/extraIncome/temp → mns-scheduler-1.2.9.8/mns_scheduler/extraIncome/one_minute/stock}/__init__.py +0 -0
  80. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/extraIncome/one_minute/stock/stock_one_minute_sync_task.py +0 -0
  81. {mns-scheduler-1.2.9.6/mns_scheduler/finance → mns-scheduler-1.2.9.8/mns_scheduler/extraIncome/one_minute/upload}/__init__.py +0 -0
  82. {mns-scheduler-1.2.9.6/mns_scheduler/hk → mns-scheduler-1.2.9.8/mns_scheduler/extraIncome/temp}/__init__.py +0 -0
  83. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/extraIncome/temp/tu_share_data_etf_sync.py +0 -0
  84. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/extraIncome/temp/tu_share_data_kzz_sync.py +0 -0
  85. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/extraIncome/temp/tu_share_data_stock_sync.py +0 -0
  86. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/extraIncome/temp/tu_share_zhi_shu_sync_api.py +0 -0
  87. {mns-scheduler-1.2.9.6/mns_scheduler/industry → mns-scheduler-1.2.9.8/mns_scheduler/finance}/__init__.py +0 -0
  88. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/finance/em_financial_asset_liability_sync_service_api.py +0 -0
  89. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/finance/em_financial_profit_sync_service_api.py +0 -0
  90. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/finance/finance_common_api.py +0 -0
  91. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/finance/sync_financial_report_service_api.py +0 -0
  92. {mns-scheduler-1.2.9.6/mns_scheduler/industry/ths → mns-scheduler-1.2.9.8/mns_scheduler/hk}/__init__.py +0 -0
  93. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/hk/hk_company_info_sync_service_api.py +0 -0
  94. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/hk/hk_industry_info_sync_service_api.py +0 -0
  95. {mns-scheduler-1.2.9.6/mns_scheduler/irm → mns-scheduler-1.2.9.8/mns_scheduler/industry}/__init__.py +0 -0
  96. {mns-scheduler-1.2.9.6/mns_scheduler/irm/api → mns-scheduler-1.2.9.8/mns_scheduler/industry/ths}/__init__.py +0 -0
  97. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/industry/ths/ths_industry_index_service.py +0 -0
  98. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/industry/ths/ths_industry_sync_service.py +0 -0
  99. {mns-scheduler-1.2.9.6/mns_scheduler/k_line/clean/daily → mns-scheduler-1.2.9.8/mns_scheduler/irm}/__init__.py +0 -0
  100. {mns-scheduler-1.2.9.6/mns_scheduler/k_line/clean/week_month → mns-scheduler-1.2.9.8/mns_scheduler/irm/api}/__init__.py +0 -0
  101. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/irm/api/sh_stock_sns_sse_info_api.py +0 -0
  102. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/irm/api/sz_stock_sns_sse_info_api.py +0 -0
  103. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/irm/stock_irm_cninfo_service.py +0 -0
  104. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/k_line/__init__.py +0 -0
  105. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/k_line/clean/__init__.py +0 -0
  106. {mns-scheduler-1.2.9.6/mns_scheduler/k_line/hot_stocks → mns-scheduler-1.2.9.8/mns_scheduler/k_line/clean/daily}/__init__.py +0 -0
  107. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/k_line/clean/daily/daily_k_line_clean_common_service.py +0 -0
  108. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/k_line/clean/daily/daily_k_line_service.py +0 -0
  109. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/k_line/clean/k_line_info_clean_impl.py +0 -0
  110. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/k_line/clean/k_line_info_clean_task.py +0 -0
  111. {mns-scheduler-1.2.9.6/mns_scheduler/k_line/test → mns-scheduler-1.2.9.8/mns_scheduler/k_line/clean/week_month}/__init__.py +0 -0
  112. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/k_line/clean/week_month/normal_week_month_k_line_service.py +0 -0
  113. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/k_line/clean/week_month/sub_new_week_month_k_line_service.py +0 -0
  114. {mns-scheduler-1.2.9.6/mns_scheduler/k_line/year_quarter → mns-scheduler-1.2.9.8/mns_scheduler/k_line/hot_stocks}/__init__.py +0 -0
  115. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/k_line/hot_stocks/recent_hot_stocks_clean_service.py +0 -0
  116. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/k_line/month_week_daily/__init__.py +0 -0
  117. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/k_line/month_week_daily/bfq_k_line_sync.py +0 -0
  118. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/k_line/month_week_daily/daily_week_month_line_sync.py +0 -0
  119. {mns-scheduler-1.2.9.6/mns_scheduler/lhb → mns-scheduler-1.2.9.8/mns_scheduler/k_line/test}/__init__.py +0 -0
  120. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/k_line/test/k_line_info_clean_his_data.py +0 -0
  121. {mns-scheduler-1.2.9.6/mns_scheduler/open → mns-scheduler-1.2.9.8/mns_scheduler/k_line/year_quarter}/__init__.py +0 -0
  122. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/k_line/year_quarter/year_quarter_line_sync.py +0 -0
  123. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/kpl/__init__.py +0 -0
  124. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/kpl/selection/__init__.py +0 -0
  125. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/kpl/selection/index/__init__.py +0 -0
  126. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/kpl/selection/index/sync_best_choose_his_index.py +0 -0
  127. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/kpl/selection/index/sync_best_choose_index.py +0 -0
  128. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/kpl/selection/symbol/__init__.py +0 -0
  129. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/kpl/selection/symbol/sync_best_choose_symbol.py +0 -0
  130. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/kpl/selection/total/__init__.py +0 -0
  131. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/kpl/selection/total/sync_kpl_best_total_sync_api.py +0 -0
  132. {mns-scheduler-1.2.9.6/mns_scheduler/risk → mns-scheduler-1.2.9.8/mns_scheduler/lhb}/__init__.py +0 -0
  133. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/lhb/stock_lhb_sync_service.py +0 -0
  134. {mns-scheduler-1.2.9.6/mns_scheduler/risk/test → mns-scheduler-1.2.9.8/mns_scheduler/open}/__init__.py +0 -0
  135. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/open/sync_one_day_open_data_to_db_service.py +0 -0
  136. {mns-scheduler-1.2.9.6/mns_scheduler/self_choose → mns-scheduler-1.2.9.8/mns_scheduler/risk}/__init__.py +0 -0
  137. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/risk/compliance/__init__.py +0 -0
  138. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/risk/compliance/undisclosed_annual_report_api.py +0 -0
  139. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/risk/financial/__init__.py +0 -0
  140. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/risk/financial/annual_report_audit_check_api.py +0 -0
  141. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/risk/financial/net_assets_check_api.py +0 -0
  142. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/risk/financial/stock_equity_mortgage_check_api.py +0 -0
  143. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/risk/financial_report_risk_check_api.py +0 -0
  144. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/risk/major_violations/__init__.py +0 -0
  145. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/risk/major_violations/register_and_investigate_stock_sync_api.py +0 -0
  146. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/risk/self/__init__.py +0 -0
  147. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/risk/self/wei_pan_stock_api.py +0 -0
  148. {mns-scheduler-1.2.9.6/mns_scheduler/trade/balance → mns-scheduler-1.2.9.8/mns_scheduler/risk/test}/__init__.py +0 -0
  149. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/risk/transactions/__init__.py +0 -0
  150. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/risk/transactions/transactions_check_api.py +0 -0
  151. {mns-scheduler-1.2.9.6/mns_scheduler/trade/tfp → mns-scheduler-1.2.9.8/mns_scheduler/self_choose}/__init__.py +0 -0
  152. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/self_choose/ths_self_choose_service.py +0 -0
  153. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/trade/__init__.py +0 -0
  154. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/trade/auto_ipo_buy_api.py +0 -0
  155. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/trade/auto_login/__init__.py +0 -0
  156. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/trade/auto_login/trader_auto_service.py +0 -0
  157. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/trade/auto_sell_service_api.py +0 -0
  158. {mns-scheduler-1.2.9.6/mns_scheduler/us → mns-scheduler-1.2.9.8/mns_scheduler/trade/balance}/__init__.py +0 -0
  159. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/trade/balance/ths_account_balance_service.py +0 -0
  160. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/trade/sync_position_api.py +0 -0
  161. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/trade/task/__init__.py +0 -0
  162. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/trade/task/trader_task_service.py +0 -0
  163. {mns-scheduler-1.2.9.6/mns_scheduler/zt/script → mns-scheduler-1.2.9.8/mns_scheduler/trade/tfp}/__init__.py +0 -0
  164. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/trade/tfp/stock_tfp_info_sync.py +0 -0
  165. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/us/k_line.py +0 -0
  166. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/us/us_company_info_sync_service_api.py +0 -0
  167. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/zb/__init__.py +0 -0
  168. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/zb/stock_zb_pool_sync.py +0 -0
  169. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/zt/__init__.py +0 -0
  170. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/zt/connected_boards/__init__.py +0 -0
  171. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/zt/connected_boards/zt_five_boards_sync_api.py +0 -0
  172. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/zt/export/__init__.py +0 -0
  173. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/zt/export/export_kcx_high_chg_open_data_to_excel.py +0 -0
  174. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/zt/high_chg/__init__.py +0 -0
  175. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/zt/high_chg/sync_high_chg_pool_service.py +0 -0
  176. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/zt/high_chg/sync_high_chg_real_time_quotes_service.py +0 -0
  177. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/zt/open_data/__init__.py +0 -0
  178. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/zt/open_data/kcx_high_chg_open_data_sync.py +0 -0
  179. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/zt/script/fix_error_deal_day.py +0 -0
  180. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/zt/script/kcx_high_chg_open_his_data_handle.py +0 -0
  181. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/zt/script/sync_high_chg_pool_his_data.py +0 -0
  182. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/zt/script/sync_now_higt_chg_zt.py +0 -0
  183. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/zt/zt_pool/__init__.py +0 -0
  184. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/zt/zt_pool/em_zt_pool_sync_api.py +0 -0
  185. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/zt/zt_pool/ths_zt_pool_sync_api.py +0 -0
  186. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/zt/zt_pool/update_null_zt_reason_api.py +0 -0
  187. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/zz_task/__init__.py +0 -0
  188. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler/zz_task/data_sync_task.py +0 -0
  189. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler.egg-info/dependency_links.txt +0 -0
  190. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/mns_scheduler.egg-info/top_level.txt +0 -0
  191. {mns-scheduler-1.2.9.6 → mns-scheduler-1.2.9.8}/setup.cfg +0 -0
@@ -1,3 +1,3 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns-scheduler
3
- Version: 1.2.9.6
3
+ Version: 1.2.9.8
@@ -0,0 +1,122 @@
1
+ import sys
2
+ import os
3
+
4
+ file_path = os.path.abspath(__file__)
5
+ end = file_path.index('mns') + 16
6
+ project_path = file_path[0:end]
7
+ sys.path.append(project_path)
8
+ import sys
9
+ import os
10
+ import json
11
+ import pandas as pd
12
+
13
+ file_path = os.path.abspath(__file__)
14
+ end = file_path.index('mns') + 16
15
+ project_path = file_path[0:end]
16
+ sys.path.append(project_path)
17
+ from bypy import ByPy
18
+ from loguru import logger
19
+ import subprocess
20
+ import re
21
+
22
+
23
+ def upload_to_baidu(file_name, folder_name, data_df):
24
+ upload_path_temp = fr'D:\upload_temp\{file_name}.csv'
25
+ bp = ByPy()
26
+
27
+ data_df.to_csv(upload_path_temp, index=False, encoding='gbk')
28
+
29
+ # 上传临时文件到百度云
30
+ remote_path = f'/{folder_name}/{file_name}.csv'
31
+ result = bp.upload(upload_path_temp, remote_path)
32
+ if result == 0:
33
+ logger.info("上传成功:{}", file_name)
34
+ else:
35
+ logger.error("上传失败:{}", file_name)
36
+ del_local_file(upload_path_temp)
37
+ return result
38
+
39
+
40
+ def del_local_file(local_file_path):
41
+ try:
42
+ os.remove(local_file_path)
43
+ except Exception as e:
44
+ print(f"删除文件时出错: {e}")
45
+
46
+
47
+ def mkdir_baidu_new_folder(remote_path):
48
+ bp = ByPy()
49
+ try:
50
+ # 调用 mkdir 方法创建文件夹
51
+ result = bp.mkdir(remote_path)
52
+
53
+ if result == 0:
54
+ logger.info("成功创建文件夹:{}", remote_path)
55
+ else:
56
+ logger.error("创建文件夹失败:{}", result)
57
+
58
+ except Exception as e:
59
+ logger.error("创建文件夹失败:{}", e)
60
+
61
+
62
+ def del_baidu_old_folder(remote_path):
63
+ bp = ByPy()
64
+ try:
65
+ # 调用 mkdir 方法创建文件夹
66
+ result = bp.delete(remote_path)
67
+
68
+ if result == 0:
69
+ logger.info("成功删除文件夹:{}", remote_path)
70
+ else:
71
+ logger.error("删除文件夹失败:{}", result)
72
+
73
+ except Exception as e:
74
+ logger.error("删除文件夹失败:{}", e)
75
+
76
+
77
+ def get_file_folder(path):
78
+ result = subprocess.run(
79
+ ['bypy', 'list', path],
80
+ capture_output=True,
81
+ text=True,
82
+ check=True,
83
+ encoding='utf-8'
84
+ )
85
+
86
+ # 假设 result 是 subprocess.run 的返回结果
87
+ stdout = result.stdout
88
+
89
+ # 正则表达式匹配文件行
90
+ pattern = re.compile(
91
+ r'^[FD]\s+(\S+)\s+(\d+)\s+(\d{4}-\d{2}-\d{2},\s\d{2}:\d{2}:\d{2})\s+([a-zA-Z0-9]{32})$',
92
+ re.IGNORECASE
93
+ )
94
+
95
+ data = []
96
+ for line in stdout.split('\n'):
97
+ line = line.strip()
98
+ if not line:
99
+ continue
100
+ match = pattern.match(line)
101
+ if match:
102
+ filename, size, mod_time, hash_val = match.groups()
103
+ # 处理时间格式:替换逗号为空格
104
+ mod_time = mod_time.replace(', ', ' ')
105
+ data.append({
106
+ 'name': filename,
107
+ 'size': int(size),
108
+ 'update_time': mod_time,
109
+ 'hash_value': hash_val
110
+ })
111
+
112
+ # 创建 DataFrame 并转换时间类型
113
+ df = pd.DataFrame(data)
114
+ if not df.empty:
115
+ df['update_time'] = pd.to_datetime(df['update_time'], format='%Y-%m-%d %H:%M:%S')
116
+
117
+ return df
118
+
119
+
120
+ if __name__ == '__main__':
121
+ folder_name1 = '/A股/1分钟/2025/4'
122
+ get_file_folder(folder_name1)
@@ -408,6 +408,7 @@ def get_recent_year_income(symbol, company_info_type, exist_company_df):
408
408
  em_stock_profit = mongodb_util.descend_query(query, db_name_constant.EM_STOCK_PROFIT, 'REPORT_DATE', 1)
409
409
  if data_frame_util.is_not_empty(em_stock_profit):
410
410
  company_info_type['operate_profit'] = list(em_stock_profit['OPERATE_PROFIT'])[0]
411
+ company_info_type['operate_date_name'] = list(em_stock_profit['REPORT_DATE_NAME'])[0]
411
412
  total_operate_income = list(em_stock_profit['TOTAL_OPERATE_INCOME'])[0]
412
413
  # 金融机构大多收入计入在这个字段中
413
414
  if total_operate_income == 0:
@@ -417,6 +418,7 @@ def get_recent_year_income(symbol, company_info_type, exist_company_df):
417
418
  else:
418
419
  company_info_type['operate_profit'] = 0
419
420
  company_info_type['total_operate_income'] = 0
421
+ company_info_type['operate_date_name'] = ''
420
422
  company_info_type['operate_profit'] = round(
421
423
  company_info_type['operate_profit'] / common_service_fun_api.HUNDRED_MILLION, 2)
422
424
  company_info_type['total_operate_income'] = round(
@@ -478,6 +478,7 @@ def filed_sort(company_info):
478
478
  "kpl_plate_list_info",
479
479
  'operate_profit',
480
480
  'total_operate_income',
481
+ 'operate_date_name',
481
482
  'kzz_debt_list',
482
483
  'hk_stock_code',
483
484
  'hk_stock_name',
@@ -0,0 +1,83 @@
1
+ import sys
2
+ import os
3
+
4
+ file_path = os.path.abspath(__file__)
5
+ end = file_path.index('mns') + 16
6
+ project_path = file_path[0:end]
7
+ sys.path.append(project_path)
8
+ from mns_common.db.MongodbUtil import MongodbUtil
9
+ from loguru import logger
10
+ import mns_scheduler.baidu.baidu_yun_pan_handle_service as baidu_yun_pan_handle_service
11
+ from mns_common.db.v2.MongodbUtilV2 import MongodbUtilV2
12
+ import mns_common.component.common_service_fun_api as common_service_fun_api
13
+ import mns_common.utils.data_frame_util as data_frame_util
14
+ from datetime import datetime
15
+ import mns_common.constant.extra_income_db_name as extra_income_db_name
16
+
17
+ mongodb_util = MongodbUtil('27017')
18
+ mongodbUtilV2_27019 = MongodbUtilV2('27019', extra_income_db_name.EXTRA_INCOME)
19
+
20
+
21
+ def upload_stock_to_baidu():
22
+ a_stock_path = '/A股/1分钟/'
23
+
24
+ now_date_time = datetime.now()
25
+ now_year = now_date_time.year
26
+ month = now_date_time.month
27
+ a_stock_path = a_stock_path + str(now_year) + '/' + str(month)
28
+ # 创建路径
29
+ baidu_yun_pan_handle_service.mkdir_baidu_new_folder(a_stock_path)
30
+ em_a_stock_info_df = mongodb_util.find_all_data('em_a_stock_info')
31
+
32
+ em_a_stock_info_df = common_service_fun_api.classify_symbol(em_a_stock_info_df)
33
+
34
+ em_a_stock_info_df['symbol'] = em_a_stock_info_df.apply(
35
+ lambda row: row['symbol'] + '.SZ' if row['classification'] in ['S', 'C']
36
+ else row['symbol'] + '.BJ' if row['classification'] in ['X']
37
+ else row['symbol'] + '.SH',
38
+ axis=1
39
+ )
40
+
41
+ file_folder_df = baidu_yun_pan_handle_service.get_file_folder(a_stock_path)
42
+ if data_frame_util.is_not_empty(file_folder_df):
43
+ # 去除文件名中的 .csv 后缀
44
+ file_folder_df['name'] = file_folder_df['name'].str.replace(r'\.csv$', '', regex=True)
45
+ em_a_stock_info_df = em_a_stock_info_df.loc[~(em_a_stock_info_df['symbol'].isin(file_folder_df['name']))]
46
+ fail_list = []
47
+ for stock_one in em_a_stock_info_df.itertuples():
48
+ try:
49
+ classification = stock_one.classification
50
+ if classification == 'X':
51
+ col_name = extra_income_db_name.ONE_MINUTE_K_LINE_BFQ_BJ
52
+ elif classification == 'S':
53
+ col_name = extra_income_db_name.ONE_MINUTE_K_LINE_BFQ_S
54
+
55
+ elif classification == 'H':
56
+ col_name = extra_income_db_name.ONE_MINUTE_K_LINE_BFQ_H
57
+ elif classification == 'K':
58
+ col_name = extra_income_db_name.ONE_MINUTE_K_LINE_BFQ_K
59
+ elif classification == 'C':
60
+ col_name = extra_income_db_name.ONE_MINUTE_K_LINE_BFQ_C
61
+ col_name = col_name + '_' + str(now_year)
62
+ symbol = stock_one.symbol
63
+ if month < 10:
64
+ month_str = '0' + str(month)
65
+ else:
66
+ month_str = str(month)
67
+ begin_time = str(now_year) + '-' + month_str + '-01 09:00:00'
68
+ query = {'symbol': symbol, 'time': {"$gte": begin_time}}
69
+ one_minute_k_line_bfq_df = mongodbUtilV2_27019.find_query_data(col_name, query)
70
+ if data_frame_util.is_not_empty(one_minute_k_line_bfq_df):
71
+ one_minute_k_line_bfq_df = one_minute_k_line_bfq_df.sort_values(by=['time'], ascending=True)
72
+ del one_minute_k_line_bfq_df['_id']
73
+ del one_minute_k_line_bfq_df['symbol']
74
+ result = baidu_yun_pan_handle_service.upload_to_baidu(symbol, a_stock_path, one_minute_k_line_bfq_df)
75
+ if result != 0:
76
+ fail_list.append(symbol)
77
+ except BaseException as e:
78
+ fail_list.append(symbol)
79
+ logger.error("上传数据异常:{}", e)
80
+
81
+
82
+ if __name__ == '__main__':
83
+ upload_stock_to_baidu()
@@ -27,7 +27,6 @@ def profit_income_check(new_report_df, period_time, report_type):
27
27
  name = list(new_report_one_df['SECURITY_NAME_ABBR'])[0]
28
28
  now_date = datetime.now()
29
29
  str_day = now_date.strftime('%Y-%m-%d')
30
- str_now_date = now_date.strftime('%Y-%m-%d %H:%M:%S')
31
30
  notice_date = list(new_report_one_df['NOTICE_DATE'])[0]
32
31
  if report_type == db_name_constant.EM_STOCK_PROFIT:
33
32
  # 利润总额 净利润 扣除非经常性损益后的净利润 三者最小为负
@@ -18,7 +18,7 @@ def fix_profit_black_list():
18
18
  period = 4
19
19
  report_type_list = [db_name_constant.EM_STOCK_ASSET_LIABILITY, db_name_constant.EM_STOCK_PROFIT]
20
20
  for report_type in report_type_list:
21
- query = {'REPORT_DATE': period_time,'symbol':"002251"}
21
+ query = {'REPORT_DATE': period_time}
22
22
  em_stock_profit_df_list = mongodb_util.find_query_data(report_type, query)
23
23
  for em_stock_one in em_stock_profit_df_list.itertuples():
24
24
  em_stock_one_df = em_stock_profit_df_list.loc[
@@ -0,0 +1,7 @@
1
+ import sys
2
+ import os
3
+
4
+ file_path = os.path.abspath(__file__)
5
+ end = file_path.index('mns') + 16
6
+ project_path = file_path[0:end]
7
+ sys.path.append(project_path)
@@ -1,131 +1,91 @@
1
- import sys
2
- import os
3
-
4
- file_path = os.path.abspath(__file__)
5
- end = file_path.index('mns') + 16
6
- project_path = file_path[0:end]
7
- sys.path.append(project_path)
8
- from bypy import ByPy
9
- from mns_common.db.MongodbUtil import MongodbUtil
10
- import tempfile
11
- from loguru import logger
12
- import akshare as ak
13
-
14
- mongodb_util = MongodbUtil('27017')
15
-
16
- import subprocess
17
-
18
-
19
- def get_file_list(path):
20
- """
21
- 获取百度网盘指定路径下的文件列表
22
- :param path: 百度网盘中的路径,例如 '/我的资源'
23
- :return: 文件列表
24
- """
25
- try:
26
- # 调用 bypy list 命令
27
- result = subprocess.run(['bypy', 'list', path], capture_output=True, text=True, check=True)
28
-
29
- # 输出结果
30
- if result.returncode == 0:
31
- file_list = result.stdout.splitlines() # 按行分割结果
32
- return file_list
33
- else:
34
- logger.error("获取文件路径异常:{}", result.stderr)
35
- return []
36
- except subprocess.CalledProcessError as e:
37
- logger.error("获取文件路径异常:{}", e)
38
- return []
39
-
40
-
41
- def upload_to_baidu(file_name, folder_name, data_df):
42
- bp = ByPy()
43
- file_name = file_name + '.csv'
44
- with tempfile.NamedTemporaryFile(mode='w', suffix='.csv', delete=False) as temp_file:
45
- data_df.to_csv(temp_file, index=False)
46
- temp_file_path = temp_file.name # 获取临时文件的路径
47
-
48
- # 上传临时文件到百度云
49
- remote_path = f'/{folder_name}/{file_name}'
50
- result = bp.upload(temp_file_path, remote_path)
51
- if result == 0:
52
- logger.info("上传成功:{}", file_name)
53
- else:
54
- logger.error("上传失败:{}", file_name)
55
- return result
56
-
57
-
58
- def mkdir_baidu_new_folder(remote_path):
59
- bp = ByPy()
60
- try:
61
- # 调用 mkdir 方法创建文件夹
62
- result = bp.mkdir(remote_path)
63
-
64
- if result == 0:
65
- logger.info("成功创建文件夹:{}", remote_path)
66
- else:
67
- logger.error("创建文件夹失败:{}", result)
68
-
69
- except Exception as e:
70
- logger.error("创建文件夹失败:{}", e)
71
-
72
-
73
- def del_baidu_old_folder(remote_path):
74
- bp = ByPy()
75
- try:
76
- # 调用 mkdir 方法创建文件夹
77
- result = bp.delete(remote_path)
78
-
79
- if result == 0:
80
- logger.info("成功删除文件夹:{}", remote_path)
81
- else:
82
- logger.error("删除文件夹失败:{}", result)
83
-
84
- except Exception as e:
85
- logger.error("删除文件夹失败:{}", e)
86
-
87
-
88
- if __name__ == '__main__':
89
- folder_name1 = '/美股/不复权日线'
90
- mkdir_baidu_new_folder(folder_name1)
91
- # get_file_list(folder_name1)
92
- stock_us_spot_em_df = ak.stock_us_spot_em()
93
- stock_us_spot_em_df = stock_us_spot_em_df.rename(columns={
94
- "序号": "index",
95
- "代码": "symbol",
96
- "名称": "name",
97
- "涨跌额": "change_price",
98
- "涨跌幅": "chg",
99
- "开盘价": "open",
100
- "最高价": "high",
101
- "最低价": "low",
102
- "最新价": "now_price",
103
- "昨收价": "last_price",
104
- "总市值": "total_mv",
105
- "市盈率": "pe",
106
- "成交量": "volume",
107
- "成交额": "amount",
108
- "振幅": "pct_chg",
109
- "换手率": "exchange"
110
- })
111
- stock_us_spot_em_df = stock_us_spot_em_df.sort_values(by=['amount'], ascending=False)
112
- stock_us_spot_em_df = stock_us_spot_em_df.fillna(0)
113
- stock_us_spot_em_df = stock_us_spot_em_df.loc[stock_us_spot_em_df['total_mv'] != 0]
114
- for stock_one in stock_us_spot_em_df.itertuples():
115
- try:
116
- symbol = stock_one.symbol
117
- name = stock_one.name
118
- query = {'symbol': symbol, 'amount': {"$gt": 0}}
119
- us_stock_bfq_daily_df_one = mongodb_util.find_query_data('us_stock_bfq_daily', query)
120
- del us_stock_bfq_daily_df_one['_id']
121
- del us_stock_bfq_daily_df_one['name']
122
- file_name_one = name + '_' + symbol
123
- upload_to_baidu(file_name_one, folder_name1, us_stock_bfq_daily_df_one)
124
-
125
- except BaseException as e:
126
- logger.error("同步数据发生异常:{}", e)
127
-
128
- # data_df = mongodb_util.find_query_data('us_stock_bfq_daily', query={'name': file_name1})
129
- # upload_to_baidu(file_name1, folder_name1, data_df)
130
-
131
-
1
+ import sys
2
+ import os
3
+
4
+ file_path = os.path.abspath(__file__)
5
+ end = file_path.index('mns') + 16
6
+ project_path = file_path[0:end]
7
+ sys.path.append(project_path)
8
+ from bypy import ByPy
9
+ from mns_common.db.MongodbUtil import MongodbUtil
10
+ import tempfile
11
+ from loguru import logger
12
+ import akshare as ak
13
+
14
+ mongodb_util = MongodbUtil('27017')
15
+
16
+ import subprocess
17
+
18
+
19
+ def get_file_list(path):
20
+ """
21
+ 获取百度网盘指定路径下的文件列表
22
+ :param path: 百度网盘中的路径,例如 '/我的资源'
23
+ :return: 文件列表
24
+ """
25
+ try:
26
+ # 调用 bypy list 命令
27
+ result = subprocess.run(['bypy', 'list', path], capture_output=True, text=True, check=True, encoding='utf-8')
28
+
29
+ # 输出结果
30
+ if result.returncode == 0:
31
+ file_list = result.stdout.splitlines() # 按行分割结果
32
+ return file_list
33
+ else:
34
+ logger.error("获取文件路径异常:{}", result.stderr)
35
+ return []
36
+ except subprocess.CalledProcessError as e:
37
+ logger.error("获取文件路径异常:{}", e)
38
+ return []
39
+
40
+
41
+ def upload_to_baidu(file_name, folder_name, data_df):
42
+ bp = ByPy()
43
+ file_name = file_name + '.csv'
44
+ with tempfile.NamedTemporaryFile(mode='w', suffix='.csv', delete=False) as temp_file:
45
+ data_df.to_csv(temp_file, index=False)
46
+ temp_file_path = temp_file.name # 获取临时文件的路径
47
+
48
+ # 上传临时文件到百度云
49
+ remote_path = f'/{folder_name}/{file_name}'
50
+ result = bp.upload(temp_file_path, remote_path)
51
+ if result == 0:
52
+ logger.info("上传成功:{}", file_name)
53
+ else:
54
+ logger.error("上传失败:{}", file_name)
55
+ return result
56
+
57
+
58
+ def mkdir_baidu_new_folder(remote_path):
59
+ bp = ByPy()
60
+ try:
61
+ # 调用 mkdir 方法创建文件夹
62
+ result = bp.mkdir(remote_path)
63
+
64
+ if result == 0:
65
+ logger.info("成功创建文件夹:{}", remote_path)
66
+ else:
67
+ logger.error("创建文件夹失败:{}", result)
68
+
69
+ except Exception as e:
70
+ logger.error("创建文件夹失败:{}", e)
71
+
72
+
73
+ def del_baidu_old_folder(remote_path):
74
+ bp = ByPy()
75
+ try:
76
+ # 调用 mkdir 方法创建文件夹
77
+ result = bp.delete(remote_path)
78
+
79
+ if result == 0:
80
+ logger.info("成功删除文件夹:{}", remote_path)
81
+ else:
82
+ logger.error("删除文件夹失败:{}", result)
83
+
84
+ except Exception as e:
85
+ logger.error("删除文件夹失败:{}", e)
86
+
87
+
88
+ if __name__ == '__main__':
89
+ folder_name1 = '/美股/不复权日线'
90
+ mkdir_baidu_new_folder(folder_name1)
91
+ list_df = get_file_list('/bypy/美股')
@@ -0,0 +1,7 @@
1
+ import sys
2
+ import os
3
+
4
+ file_path = os.path.abspath(__file__)
5
+ end = file_path.index('mns') + 16
6
+ project_path = file_path[0:end]
7
+ sys.path.append(project_path)
@@ -1,3 +1,3 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns-scheduler
3
- Version: 1.2.9.6
3
+ Version: 1.2.9.8
@@ -5,6 +5,8 @@ mns_scheduler.egg-info/PKG-INFO
5
5
  mns_scheduler.egg-info/SOURCES.txt
6
6
  mns_scheduler.egg-info/dependency_links.txt
7
7
  mns_scheduler.egg-info/top_level.txt
8
+ mns_scheduler/baidu/__init__.py
9
+ mns_scheduler/baidu/baidu_yun_pan_handle_service.py
8
10
  mns_scheduler/big_deal/__init__.py
9
11
  mns_scheduler/big_deal/ths_big_deal_sync.py
10
12
  mns_scheduler/company_info/__init__.py
@@ -71,6 +73,8 @@ mns_scheduler/extraIncome/one_minute/kzz/__init__.py
71
73
  mns_scheduler/extraIncome/one_minute/kzz/kzz_one_minute_sync_task.py
72
74
  mns_scheduler/extraIncome/one_minute/stock/__init__.py
73
75
  mns_scheduler/extraIncome/one_minute/stock/stock_one_minute_sync_task.py
76
+ mns_scheduler/extraIncome/one_minute/upload/__init__.py
77
+ mns_scheduler/extraIncome/one_minute/upload/upload_to_baidu_task.py
74
78
  mns_scheduler/extraIncome/temp/__init__.py
75
79
  mns_scheduler/extraIncome/temp/tu_share_data_etf_sync.py
76
80
  mns_scheduler/extraIncome/temp/tu_share_data_kzz_sync.py
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name='mns-scheduler',
5
- version='1.2.9.6',
5
+ version='1.2.9.8',
6
6
  packages=find_packages(),
7
7
  install_requires=[], # 如果有依赖项,可以在这里列出
8
8
  )