55 lines
1.7 KiB
Python
55 lines
1.7 KiB
Python
# -*- coding: utf-8 -*-
|
|
import flask
|
|
|
|
from flask import Flask,jsonify,send_from_directory, render_template
|
|
from config import Config
|
|
import yaml
|
|
import os
|
|
from sqlalchemy import desc
|
|
from storage import MailThread,db_session
|
|
|
|
app = Flask(__name__, template_folder="templates", static_folder="static")
|
|
package_directory = os.path.dirname(os.path.abspath(__file__))
|
|
|
|
cfg = Config(file(os.path.join(package_directory, 'config.cfg')))
|
|
|
|
|
|
def render_index(mths,code=200):
|
|
return render_template("index.html",mths=mths,
|
|
title=cfg.title.decode("utf8"),
|
|
), code
|
|
from classifier import get_pipe
|
|
mail_threads=db_session.query(MailThread).all()
|
|
#pipe1,le=get_pipe("pipe1",b"answered")
|
|
#pipe2,le2=get_pipe("pipe2b", b"maintopic")
|
|
#pipe3,le3=get_pipe("pipe2b", b"lang")
|
|
|
|
#answered=le.inverse_transform(pipe1.predict(mail_threads))
|
|
#maintopic=le2.inverse_transform(pipe2.predict(mail_threads))
|
|
#lang=le3.inverse_transform(pipe3.predict(mail_threads))
|
|
|
|
#for i, t in enumerate(mail_threads):
|
|
# t.answered=answered[i]
|
|
# t.maintopic=maintopic[i]
|
|
# t.lang=lang[i]
|
|
|
|
@app.route("/")
|
|
def hello():
|
|
mth=db_session.query(MailThread).order_by(desc(MailThread.date)).all()
|
|
return render_index(mth)
|
|
|
|
@app.route("/answered/<id>/<value>")
|
|
def store_answered(id, value):
|
|
mth=db_session.query(MailThread).filter(MailThread.firstmail==int(id)).first()
|
|
value= value in ["true", "True", "1", "t"]
|
|
mth.answered=bool(value)
|
|
mth.opened=bool(value)
|
|
return render_index([mth])
|
|
|
|
|
|
|
|
@app.route("/studium")
|
|
def studium():
|
|
mth=db_session.query(MailThread).filter(MailThread.maintopic=="studium").order_by(desc(MailThread.date)).all()
|
|
return render_index(mth)
|