diff --git a/app/api_service.py b/app/api_service.py new file mode 100644 index 0000000..034a46d --- /dev/null +++ b/app/api_service.py @@ -0,0 +1,31 @@ +from flask import * +from flask_httpauth import HTTPTokenAuth +from Article import load_freq_history + +path_prefix = '/var/www/wordfreq/wordfreq/' +path_prefix = './' # comment this line in deployment + +show_bp = Blueprint('site',__name__) + +auth = HTTPTokenAuth(scheme='Bearer') + +tokens = { + "token": "token", + "secret-token": "lanhui" # token, username +} + + +@auth.verify_token +def verify_token(token): + if token in tokens: + return tokens[token] + + +@show_bp.route('/api/mywords') # HTTPie usage: http -A bearer -a secret-token http://127.0.0.1:5000/api/mywords +@auth.login_required +def show(): + username = auth.current_user() + word_freq_record = path_prefix + 'static/frequency/' + 'frequency_%s.pickle' % (username) + d = load_freq_history(word_freq_record) + return jsonify(d) + diff --git a/app/main.py b/app/main.py index 19e82f2..eeb4960 100644 --- a/app/main.py +++ b/app/main.py @@ -10,9 +10,10 @@ import Yaml from user_service import userService from account_service import accountService from admin_service import adminService, ADMIN_NAME +from api_service import show_bp import os from translate import * -from wordCMD import show_bp + app = Flask(__name__) app.secret_key = os.urandom(32) diff --git a/app/wordCMD.py b/app/wordCMD.py deleted file mode 100644 index dd579da..0000000 --- a/app/wordCMD.py +++ /dev/null @@ -1,39 +0,0 @@ -from flask import * -from flask_httpauth import HTTPTokenAuth -from Article import load_freq_history -from wordfreqCMD import sort_in_descending_order -import pickle_idea - -auth = HTTPTokenAuth(scheme='Bearer') - -path_prefix = '/var/www/wordfreq/wordfreq/' -path_prefix = './' # comment this line in deployment - -show_bp = Blueprint( - 'site', - __name__, -) - -tokens = { - "token": "token" -} - - -@auth.verify_token -def verify_token(token): - if token in tokens: - return tokens[token] - - -@show_bp.route('/show//') # set route for show page means the var name to search -@auth.login_required -def show(name): - user_freq_record = path_prefix + 'static/frequency/' + 'frequency_%s.pickle' % (name) - d = load_freq_history(user_freq_record) - freqlst = sort_in_descending_order(pickle_idea.dict2lst(d)) - words_freq = [] # 存储单词表的数组,格式为 单词-词频 - for i in range(len(freqlst)): - words_freq.append(str(freqlst[i][0]) + "-" + str(len(freqlst[i][1]))) - t = {} - t[name] = words_freq - return jsonify(t)