核心提示:# -*- coding: utf8 -*- #--导入常用的python包 import os import datetime from flask import Blueprint, render...
# -*- coding: utf8 -*-
#--导入常用的python包
import os
import datetime
from flask import Blueprint, render_template, abort, request, jsonify
#--访问mongoDB
from database import mongo
#--采用Flask的Blueprint模版组织页面结构
pages_api_res = Blueprint("pages_api_res", __name__, template_folder="templates")
'''
---api所响应的url:https://moocbd.1024cloud.com/api/res_general
---接受的方法:GET、POST
---作用:查询大数据资源的概况信息,
POST时返回Json格式的记录文件数、课程数、课程学习统计量、学习者个数
等信息,GET时返回测试api的html页面
'''
@pages_api_res.route("/api/res_general", methods=['GET','POST'])
def api_res_general():
# 当api的调用方法为GET时,返回测试页面
if request.method=='GET':
return render_template("api/res_general.html")
ret = {'success':True, 'last_update':datetime.date.today().strftime('%Y-%m-%d')}
# 获取原始记录文件的个数
data = os.listdir('/data/logs/')
ret['count_rawfiles'] = len(data)
# 获取过滤后的记录文件的个数
data = os.listdir('/data/learn/')
ret['count_logfiles'] = len(data)
# 获取课程的个数
data = os.listdir('/data/typelogs/courses/')
ret['count_courses'] = len(data)
# 获取所有课程的记录文件总数
count = 0
for r,p,f in os.walk('/data/typelogs/courses/'):
count += len(f)
ret['count_courselogs'] = count
# 获取学习者的相关记录个数
data = os.listdir('/data/typelogs/learners/')
ret['count_learners'] = len(data)
# 获取所有学习者的记录文件总数
count = 0
for r,p,f in os.walk('/data/typelogs/learners/'):
count += len(f)
ret['count_learnerlogs'] = count
# 利用jsonify模块规范返回数据的格式
return jsonify(ret)


