Browse Source

PCSG-Bloomberg接口调整

hsun 10 months ago
parent
commit
4f9d42cc2c
1 changed files with 65 additions and 59 deletions
  1. 65 59
      pscg_bloomberg/main.py

+ 65 - 59
pscg_bloomberg/main.py

@@ -36,16 +36,28 @@ class bbg_schedule_run:
 # hug接口输出为json格式
 app = Flask(__name__)
 
+# 服务端口号
 server_port = 7110
+
+# 鉴权文件地址
 ps_credential_path = "ps-credential.txt"  # 鉴权文件地址
-daily_price_sched_key = "IDpcsgDailyType6Price"  # 日度Price任务key
-daily_general_sched_key = "IDpcsgDailyGeneral"  # 日度general任务key
-weekly_sched_key = "IDpcsgWeeklyRunETA223"  # 周度任务key
-month_sched_key = "IDpcsgMonthRun"  # 月度任务key
-daily_data_price_dir = "data/day/price"
-daily_data_general_dir = "data/day/general"
-weekly_data_dir = "data/week"
-monthly_data_dir = "data/month"
+
+# 日度
+# daily_price_sched_key = "IDpcsgDailyType6Price"  # 日度Price任务key(第一版)
+# daily_general_sched_key = "IDpcsgDailyGeneral"  # 日度general任务key(第一版)
+# daily_data_price_dir = "data/day/price"  # 日度Price数据文件夹
+# daily_data_general_dir = "data/day/general"  # 日度Price数据文件夹
+daily_sched_key = "IDpcsgDailyRun2"  # 日度任务key
+daily_data_dir = "data/day2"  # 日度数据文件夹
+
+# 周度
+# weekly_sched_key = "IDpcsgWeeklyRunETA223"  # 周度任务key(暂停)
+# weekly_data_dir = "data/week"
+
+# 月度
+# month_sched_key = "IDpcsgMonthRun"  # 月度任务key(第一版)
+month_sched_key = "IDpcsgMonthRun2"  # 月度任务key
+monthly_data_dir = "data/month2"  # 月度数据文件夹
 
 
 @app.route('/api/bloomberg/server')
@@ -56,48 +68,62 @@ def bloomberg_server():
 @app.route('/api/bloomberg/daily_data', methods=['POST'])
 def get_bloomberg_daily_data():
     try:
+        # bbg_down = bbg_schedule_run(ps_credential_path)
+        # df_daily_price = bbg_down.get_sched_data(daily_price_sched_key)
+        # df_daily_general = bbg_down.get_sched_data(daily_general_sched_key)
+        #
+        # # 写入文件留档
+        # write_data_to_file(df_daily_price, daily_data_price_dir)
+        # write_data_to_file(df_daily_general, daily_data_general_dir)
+        #
+        # resp_data = {
+        #     "code": 200,
+        #     "data": {
+        #         "price_data": df_daily_price,
+        #         "general_data": df_daily_general
+        #     },
+        #     "msg": "获取成功"
+        # }
+        # return json.dumps(resp_data, indent=2)
+
         bbg_down = bbg_schedule_run(ps_credential_path)
-        df_daily_price = bbg_down.get_sched_data(daily_price_sched_key)
-        df_daily_general = bbg_down.get_sched_data(daily_general_sched_key)
+        df_daily = bbg_down.get_sched_data(daily_sched_key)
 
         # 写入文件留档
-        write_data_to_file(df_daily_price, daily_data_price_dir)
-        write_data_to_file(df_daily_general, daily_data_general_dir)
+        write_data_to_file(df_daily, daily_data_dir)
 
-        resp_temp = {
+        resp_data = {
             "code": 200,
-            "data": {
-                "price_data": df_daily_price,
-                "general_data": df_daily_general
-            },
+            "data": df_daily,
             "msg": "获取成功"
         }
-        return json.dumps(resp_temp, indent=2)
+        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_temp = {
-            "code": 200,
-            "data": df_weekly,
-            "msg": "获取成功"
-        }
-        return json.dumps(resp_temp, 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'])
@@ -109,12 +135,12 @@ def get_bloomberg_monthly_data():
         # 写入文件留档
         write_data_to_file(df_monthly, monthly_data_dir)
 
-        resp_temp = {
+        resp_data = {
             "code": 200,
             "data": df_monthly,
             "msg": "获取成功"
         }
-        return json.dumps(resp_temp, indent=2)
+        return json.dumps(resp_data, indent=2)
     except Exception as e:
         err_msg = str(e)
         print(err_msg)
@@ -147,25 +173,5 @@ def write_data_to_file(json_data, dir_path=None):
         print(f"写入文件时发生错误:{e}")
 
 
-# def main():
-#     ### Download data from Bloomberg website scheduled run
-#     ### Be aware different column fields for different run job
-#     ### For example: price data clolumn:
-#     ### Date: PX_CLOSE_DT, Value: PX_YEST_CLOSE
-#     ### Other type of data download cloumn
-#     ### Date: LAST_UPDATE_DT, Value: PX_LAST
-#
-#     bbg_down = bbg_schedule_run("./ps-credential.txt")
-#     # "IDpcsgDailyType6Price", "IDpcsgDailyGeneral" "IDpcsgWeeklyRunETA222", "IDpcsgMonthRun"
-#     df_daily_price = bbg_down.get_sched_data("IDpcsgDailyType6Price")
-#     df_daily_general = bbg_down.get_sched_data("IDpcsgDailyGeneral")
-#     # df_weekly = bbg_down.get_sched_data("IDpcsgWeeklyRunETA223")
-#     df_monthly = bbg_down.get_sched_data("IDpcsgMonthRun")
-#
-#     print(df_daily_price)
-#     print(df_daily_general)
-#     print(df_monthly)
-
-
 if __name__ == "__main__":
     app.run(host='0.0.0.0', port=server_port, debug=True)