import json

from flask import Blueprint

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)
    print(json.dumps(s))
    results = {}

    for word in wordlist:
        results[word] = len(s[word])

    return results