Update __init__.py

pull/109/head
midoks 6 years ago
parent ab2c88c85e
commit f5e8ed8ffb
  1. 57
      route/__init__.py

@ -5,6 +5,7 @@ import io
import os import os
import time import time
import shutil import shutil
import uuid
from datetime import timedelta from datetime import timedelta
@ -14,14 +15,55 @@ from flask import make_response
from flask import Response from flask import Response
from flask import session from flask import session
from flask import request from flask import request
from flask import redirect
from flask import url_for
from flask_session import Session
sys.path.append(os.getcwd() + "/class/core") sys.path.append(os.getcwd() + "/class/core")
import db
import public import public
app = Flask(__name__, template_folder='templates/default') app = Flask(__name__, template_folder='templates/default')
app.config.version = '0.0.1' app.config.version = '0.0.1'
app.config['SECRET_KEY'] = os.urandom(24) # app.config['SECRET_KEY'] = os.urandom(24)
app.config['SECRET_KEY'] = uuid.UUID(int=uuid.getnode()).hex[-12:]
# app.secret_key = uuid.UUID(int=uuid.getnode()).hex[-12:]
app.config['PERMANENT_SESSION_LIFETIME'] = timedelta(days=7) app.config['PERMANENT_SESSION_LIFETIME'] = timedelta(days=7)
try:
from flask_sqlalchemy import SQLAlchemy
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/py_mw_session.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
sdb = SQLAlchemy(app)
app.config['SESSION_TYPE'] = 'sqlalchemy'
app.config['SESSION_SQLALCHEMY'] = sdb
app.config['SESSION_SQLALCHEMY_TABLE'] = 'session'
except:
app.config['SESSION_TYPE'] = 'filesystem'
app.config['SESSION_FILE_DIR'] = '/tmp/py_mw_session_' + \
str(sys.version_info[0])
app.config['SESSION_FILE_THRESHOLD'] = 1024
app.config['SESSION_FILE_MODE'] = 384
app.config['SESSION_PERMANENT'] = True
app.config['SESSION_USE_SIGNER'] = True
app.config['SESSION_KEY_PREFIX'] = 'MW_:'
app.config['SESSION_COOKIE_NAME'] = "MW_VER_1"
Session(app)
def initDB():
try:
sql = db.Sql().dbfile('default')
csql = public.readFile('data/sql/default.sql')
csql_list = csql.split(';')
for index in range(len(csql_list)):
sql.execute(csql_list[index], ())
except Exception, ex:
print str(ex)
initDB()
def funConvert(fun): def funConvert(fun):
@ -33,6 +75,12 @@ def funConvert(fun):
return func return func
def isLogined():
if 'login' in session and 'username' in session:
return True
return False
def publicObject(toObject, func, action=None, get=None): def publicObject(toObject, func, action=None, get=None):
name = funConvert(func) + 'Api' name = funConvert(func) + 'Api'
if hasattr(toObject, name): if hasattr(toObject, name):
@ -65,7 +113,7 @@ def code():
out = StringIO() out = StringIO()
codeImage[0].save(out, "png") codeImage[0].save(out, "png")
session['code'] = public.md5("".join(codeImage[1]).lower()) session['code'] = public.md5(''.join(codeImage[1]).lower())
img = Response(out.getvalue(), headers={'Content-Type': 'image/png'}) img = Response(out.getvalue(), headers={'Content-Type': 'image/png'})
return make_response(img) return make_response(img)
@ -78,6 +126,8 @@ def checkLogin():
@app.route("/login") @app.route("/login")
def login(): def login():
if isLogined():
return redirect('/')
return render_template('login.html') return render_template('login.html')
@ -86,7 +136,6 @@ def doLogin():
username = request.form.get('username', '').strip() username = request.form.get('username', '').strip()
password = request.form.get('password', '').strip() password = request.form.get('password', '').strip()
code = request.form.get('code', '').strip() code = request.form.get('code', '').strip()
print session
if session.has_key('code'): if session.has_key('code'):
if session['code'] != public.md5(code): if session['code'] != public.md5(code):
return public.returnJson(False, '验证码错误,请重新输入!') return public.returnJson(False, '验证码错误,请重新输入!')
@ -119,6 +168,8 @@ def index(reqClass=None, reqAction=None, reqData=None):
return '403 no access!' return '403 no access!'
if reqAction == None: if reqAction == None:
if not isLogined():
return redirect('/login')
return render_template(reqClass + '.html') return render_template(reqClass + '.html')
className = reqClass + '_api' className = reqClass + '_api'

Loading…
Cancel
Save