forked from mrlan/EnglishPal
				
			Simplify wordCMD.py and rename it to api_service.py
							parent
							
								
									8f31b030ea
								
							
						
					
					
						commit
						ceb5f14ee9
					
				|  | @ -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) | ||||||
|  | 
 | ||||||
|  | @ -10,9 +10,10 @@ import Yaml | ||||||
| from user_service import userService | from user_service import userService | ||||||
| from account_service import accountService | from account_service import accountService | ||||||
| from admin_service import adminService, ADMIN_NAME | from admin_service import adminService, ADMIN_NAME | ||||||
|  | from api_service import show_bp | ||||||
| import os | import os | ||||||
| from translate import * | from translate import * | ||||||
| from wordCMD import show_bp | 
 | ||||||
| 
 | 
 | ||||||
| app = Flask(__name__) | app = Flask(__name__) | ||||||
| app.secret_key = os.urandom(32) | app.secret_key = os.urandom(32) | ||||||
|  |  | ||||||
|  | @ -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/<name>/')  # set route for show page <name> 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) |  | ||||||
		Loading…
	
		Reference in New Issue