page.py 5.22 KB
from flask import Flask,session,render_template,redirect,Blueprint,request
from snownlp import SnowNLP
from utils.getHomePageData import *
from utils.getHotWordPageData import *
from utils.getTableData import *
from utils.getPublicData import getAllHotWords
from utils.getEchartsData import *
pb = Blueprint('page',__name__,url_prefix='/page',template_folder='templates')

@pb.route('/home')
def home():
    username = session.get('username')
    articleLenMax,likeCountMaxAuthorName,cityMax = getHomeTagsData()
    commentsLikeCountTopFore = getHomeCommentsLikeCountTopFore()
    xData,yData = getHomeArticleCreatedAtChart()
    typeChart = getHomeTypeChart()
    createAtChart = getHomeCommentCreatedChart()
    # getUserNameWordCloud()
    return render_template('index.html',
                           username=username,
                           articleLenMax=articleLenMax,
                           likeCountMaxAuthorName=likeCountMaxAuthorName,
                           cityMax=cityMax,
                           commentsLikeCountTopFore=commentsLikeCountTopFore,
                           xData=xData,
                           yData=yData,
                           typeChart=typeChart,
                           createAtChart=createAtChart
                           )

@pb.route('/hotWord')
def hotWord():
    username = session.get('username')
    hotWordList = getAllHotWords()
    defaultHotWord = hotWordList[0][0]
    if request.args.get('hotWord'):defaultHotWord = request.args.get('hotWord')
    hotWordLen = getHotWordLen(defaultHotWord)
    xData,yData = getHotWordPageCreatedAtCharData(defaultHotWord)
    sentences = ''
    value = SnowNLP(defaultHotWord).sentiments
    if value == 0.5:
        sentences = '中性'
    elif value > 0.5:
        sentences = '正面'
    elif value < 0.5:
        sentences = '负面'

    comments = getCommentFilterData(defaultHotWord)
    return render_template('hotWord.html',
                           username=username,
                           hotWordList=hotWordList,
                           defaultHotWord=defaultHotWord,
                           hotWordLen=hotWordLen,
                           sentences=sentences,
                           xData=xData,
                           yData=yData,
                           comments=comments
                           )

@pb.route('/tableData')
def tableData():
    username = session.get('username')
    defaultFlag = False
    if request.args.get('flag'):defaultFlag = True
    tableData = getTableDataList(defaultFlag)
    return render_template('tableData.html',
                           username=username,
                           tableData=tableData,
                           defaultFlag=defaultFlag
                           )

@pb.route('/articleChar')
def articleChar():
    username = session.get('username')
    typeList = getTypeList()
    defaultType = typeList[0]
    if request.args.get('type'): defaultType = request.args.get('type')
    xData,yData = getArticleCharLikeCount(defaultType)
    x1Data,y1Data = getArticleCharCommentsLen(defaultType)
    x2Data,y2Data = getArticleCharRepotsLen(defaultType)
    return render_template('articleChar.html',
                           username=username,
                           typeList=typeList,
                           defaultType=defaultType,
                           xData=xData,
                           yData=yData,
                           x1Data=x1Data,
                           y1Data=y1Data,
                           x2Data=x2Data,
                           y2Data=y2Data
                           )

@pb.route('/ipChar')
def ipChar():
    username = session.get('username')
    articleRegionData = getIPCharByArticleRegion()
    commentRegionData = getIPCharByCommentsRegion()
    return render_template('ipChar.html',
                           username=username,
                           articleRegionData=articleRegionData,
                           commentRegionData=commentRegionData
                           )

@pb.route('/commentChar')
def commentChar():
    username = session.get('username')
    xData,yData = getCommentCharDataOne()
    genderPieData = getCommentCharDataTwo()
    return render_template('commentChar.html',
                           username=username,
                           xData=xData,
                           yData=yData,
                           genderPieData=genderPieData
                           )

@pb.route('/yuqingChar')
def yuqingChar():
    username = session.get('username')
    xData,yData,bieData = getYuQingCharDataOne()
    bieData1,bieData2 = getYuQingCharDataTwo()
    x1Data,y1Data = getYuQingCharDataThree()
    return render_template('yuqingChar.html',
                           username=username,
                           xData=xData,
                           yData=yData,
                           bieData=bieData,
                           bieData1=bieData1,
                           bieData2=bieData2,
                           x1Data=x1Data,
                           y1Data=y1Data
                           )

@pb.route('/articleCloud')
def articleCloud():
    username = session.get('username')
    return render_template('articleContentCloud.html',
                           username=username
                           )