From 8890e4250a36c2aa822f9ae1d5f30eaf444f6b47 Mon Sep 17 00:00:00 2001 From: shakil Date: Thu, 15 Jun 2023 07:03:06 +0800 Subject: [PATCH] added api_bp.py and change in main.py --- app/api_bp.py | 44 ++++++++++++++++++++++++++++++++++++++++++++ app/main.py | 8 ++++---- 2 files changed, 48 insertions(+), 4 deletions(-) create mode 100644 app/api_bp.py diff --git a/app/api_bp.py b/app/api_bp.py new file mode 100644 index 0000000..50e96eb --- /dev/null +++ b/app/api_bp.py @@ -0,0 +1,44 @@ +import json + +from flask import Blueprint, session, jsonify + +import pickle_idea2 + +path_prefix = '/var/www/wordfreq/wordfreq/' +path_prefix = './' # comment this line in deployment + +# 创建api蓝图 +api_blue = Blueprint('api', __name__, url_prefix='/api') + + +def helper(res, result): + for item in res: + if type(res[str(item)]) == 'dict': + helper(res[str(item)], result) + if type(res[str(item)]) == 'list': + for i in range(len(res[str(item)])): + helper(res[str(item)][i], result) + result.append(str(item)) + return result + + +@api_blue.route('/json/', methods=['GET']) +def api_bp(username): + # 获取session里的用户名,必须携带token + token = session.get("token") + if token == "70620F32A9DC965FCCF0447B674AA161": + result = [] + user_freq_record = path_prefix + 'static/frequency/' + 'frequency_%s.pickle' % (username) + s = pickle_idea2.load_record(user_freq_record) + wordlist = helper(s, result) + print(json.dumps(s)) + results = {} + + for word in wordlist: + results[word] = len(s[word]) + + return jsonify(results) + + else: + print("无效的token") + return jsonify({"error": "无效的token"}) diff --git a/app/main.py b/app/main.py index 4e3f829..3bc7ff6 100644 --- a/app/main.py +++ b/app/main.py @@ -11,14 +11,14 @@ from Article import * import Yaml from user_service import userService from account_service import accountService -from admin_service import adminService, ADMIN_NAME +from api_bp import api_blue app = Flask(__name__) app.secret_key = 'lunch.time!' # 将蓝图注册到Lab app app.register_blueprint(userService) app.register_blueprint(accountService) -app.register_blueprint(adminService) +app.register_blueprint(api_blue) path_prefix = '/var/www/wordfreq/wordfreq/' path_prefix = './' # comment this line in deployment @@ -98,7 +98,7 @@ def mainpage(): d_len = len(d) lst = sort_in_descending_order(pickle_idea.dict2lst(d)) return render_template('mainpage_get.html', - admin_name=ADMIN_NAME, + #admin_name=ADMIN_NAME, random_ads=random_ads, d_len=d_len, lst=lst, @@ -115,4 +115,4 @@ if __name__ == '__main__': app.run(debug=True) # app.run(debug=True, port='6000') # app.run(host='0.0.0.0', debug=True, port='6000') - # print(mod5('123')) + # print(mod5('123')) \ No newline at end of file