Browse Source

中石油彭博优化

hsun 8 months ago
parent
commit
83dec51ea0
1 changed files with 22 additions and 84 deletions
  1. 22 84
      pscg_bloomberg/main.py

+ 22 - 84
pscg_bloomberg/main.py

@@ -68,24 +68,11 @@ server_port = 7110
 # 鉴权文件地址
 ps_credential_path = "ps-credential.txt"  # 鉴权文件地址
 
-# 日度
-daily_sched_key = "IDpcsgDailyRun4"  # 日度任务key
-daily_data_dir = "data/day4"  # 日度数据文件夹
-
-daily_run3_sched_key = "IDpcsgDailyRun3"
-daily_run3_data_dir = "data/day3"
-
-# 周度
-# weekly_sched_key = "IDpcsgWeeklyRunETA223"  # 周度任务key(暂停)
-# weekly_data_dir = "data/week"
-
-# 月度
-month_sched_key = "IDpcsgMonthRun2"  # 月度任务key
-monthly_data_dir = "data/month2"  # 月度数据文件夹
-
-# 历史数据
-daily_history_sched_key = "uNerkpV8A7FN"  # 日度历史数据任务key
-monthly_history_sched_key = "ugE7uE1HhtUj"  # 月度历史数据任务key
+# 任务对应的归档目录
+task_key_dir_dict = {
+    "IDpcsgMonthRun2": "data/month2", "IDpcsgDailyRun4": "data/day4", "IDpcsgDailyRun5": "data/day5",
+    "IDpcsgDailyRunHist1": "data/hist1"
+}
 
 
 @app.route('/api/bloomberg/server')
@@ -93,82 +80,33 @@ def bloomberg_server():
     return {"code": 200, "data": "ok", "error": ""}
 
 
-@app.route('/api/bloomberg/daily_data', methods=['POST'])
-def get_bloomberg_daily_data():
-    try:
-        bbg_down = bbg_schedule_run(ps_credential_path)
-        df_daily = bbg_down.get_sched_data(daily_sched_key)
-
-        # 写入文件留档
-        write_data_to_file(df_daily, daily_data_dir)
-
-        resp_data = {
-            "code": 200,
-            "data": df_daily,
-            "msg": "获取成功"
-        }
-        return json.dumps(resp_data, indent=2)
-    except Exception as e:
-        err_msg = str(e)
-        print(err_msg)
-        return {"code": 403, "data": "", "error": err_msg}
+@app.route('/api/bloomberg/general_data', methods=['GET'])
+def get_bloomberg_general_data():
+    task_key = request.args.get('task_key', default="", type=str)
+    if task_key is None or task_key == "":
+        return {"code": 403, "data": "", "error": "task_key is missing"}
+    print("task_key: ", task_key)
 
+    save_dir = task_key_dir_dict[task_key]
+    if dir == "":
+        return {"code": 403, "data": "", "error": "save_dir is missing"}
+    print("save_dir: ", save_dir)
 
-@app.route('/api/bloomberg/daily_data_run3', methods=['POST'])
-def get_bloomberg_daily_data_run3():
     try:
         bbg_down = bbg_schedule_run(ps_credential_path)
-        df_daily = bbg_down.get_sched_data(daily_run3_sched_key)
+        bbg_data = bbg_down.get_sched_data(task_key)
 
-        # 写入文件留档
-        write_data_to_file(df_daily, daily_run3_data_dir)
-
-        resp_data = {
-            "code": 200,
-            "data": df_daily,
-            "msg": "获取成功"
-        }
-        return json.dumps(resp_data, indent=2)
-    except Exception as e:
-        err_msg = str(e)
-        print(err_msg)
-        return {"code": 403, "data": "", "error": err_msg}
-
-
-# 周度任务暂关闭
-# @app.route('/api/bloomberg/weekly_data', methods=['POST'])
-# def get_bloomberg_weekly_data():
-#     try:
-#         bbg_down = bbg_schedule_run(ps_credential_path)
-#         df_weekly = bbg_down.get_sched_data(weekly_sched_key)
-#
-#         # 写入文件留档
-#         write_data_to_file(df_weekly, weekly_data_dir)
-#
-#         resp_data = {
-#             "code": 200,
-#             "data": df_weekly,
-#             "msg": "获取成功"
-#         }
-#         return json.dumps(resp_data, indent=2)
-#     except Exception as e:
-#         err_msg = str(e)
-#         print(err_msg)
-#         return {"code": 403, "data": "", "error": err_msg}
-
-
-@app.route('/api/bloomberg/monthly_data', methods=['POST'])
-def get_bloomberg_monthly_data():
-    try:
-        bbg_down = bbg_schedule_run(ps_credential_path)
-        df_monthly = bbg_down.get_sched_data(month_sched_key)
+        # TEST
+        # with open("data/day3/2024-06-19.json", 'r', encoding='utf-8') as file:
+        #     bbg_data = file.read()  # 读取文件全部内容
+        # print(bbg_data)  # 打印文件内容
 
         # 写入文件留档
-        write_data_to_file(df_monthly, monthly_data_dir)
+        write_data_to_file(bbg_data, save_dir)
 
         resp_data = {
             "code": 200,
-            "data": df_monthly,
+            "data": bbg_data,
             "msg": "获取成功"
         }
         return json.dumps(resp_data, indent=2)