|
@@ -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)
|