forked from mrlan/EnglishPal
45 lines
1.2 KiB
Python
45 lines
1.2 KiB
Python
|
import json
|
||
|
from flask import Blueprint
|
||
|
from wordfreqCMD import *
|
||
|
from Article import get_today_article, load_freq_history
|
||
|
import pickle_idea
|
||
|
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/<username>', methods=['GET'])
|
||
|
def api_bp(username):
|
||
|
# 获取session里的用户名
|
||
|
result = []
|
||
|
user_freq_record = path_prefix + 'static/frequency/' + 'frequency_%s.pickle' % (username)
|
||
|
s = pickle_idea2.load_record(user_freq_record)
|
||
|
wordlist = helper(s,result)
|
||
|
results = "{"
|
||
|
i=0
|
||
|
for word in wordlist:
|
||
|
if i!=len(wordlist)-1:
|
||
|
results +='"' + word +'":' + str(len(s[word])) +","
|
||
|
i=i+1
|
||
|
else:
|
||
|
results += '"' + word + '":' + str(len(s[word]))
|
||
|
results+="}"
|
||
|
|
||
|
|
||
|
return results
|