Explorar el Código

Merge pull request #340 from 2DU/Flask

Flask
ect (or 2du) hace 8 años
padre
commit
2dbf117885
Se han modificado 5 ficheros con 211 adiciones y 222 borrados
  1. 181 176
      app.py
  2. 12 17
      func.py
  3. 7 6
      requirements.txt
  4. 7 22
      set_mark/macro.py
  5. 4 1
      version.md

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 181 - 176
app.py


+ 12 - 17
func.py

@@ -1,5 +1,7 @@
-from bottle import request, app, template
-from bottle.ext import beaker
+from bottle import template
+
+from flask import session
+
 import json
 import sqlite3
 import hashlib
@@ -16,12 +18,8 @@ from set_mark.macro import ip_check
 from set_mark.mark import *
 from set_mark.link import url_pas
 from set_mark.link import sha224
-    
-session_opts = { 'session.type' : 'dbm', 'session.data_dir' : './app_session/', 'session.auto' : 1 }
-app = beaker.middleware.SessionMiddleware(app(), session_opts)
 
 def captcha_get(conn):
-    session = request.environ.get('beaker.session')
     curs = conn.cursor()
 
     data = ''
@@ -36,8 +34,7 @@ def captcha_get(conn):
 
     return(data)
 
-def captcha_post(response, conn, num = 1):
-    session = request.environ.get('beaker.session')
+def captcha_post(test, conn, num = 1):
     curs = conn.cursor()
 
     if(num == 1):
@@ -45,7 +42,7 @@ def captcha_post(response, conn, num = 1):
             curs.execute('select data from other where name = "sec_re"')
             sec_re = curs.fetchall()
             if(sec_re and sec_re[0][0] != ''):
-                data = requests.get('https://www.google.com/recaptcha/api/siteverify', params = { 'secret' : sec_re, 'response' : response })
+                data = requests.get('https://www.google.com/recaptcha/api/siteverify', params = { 'secret' : sec_re, 'response' : test })
 
                 if(not data):
                     return(0)
@@ -106,9 +103,8 @@ def next_fix(link, num, page, end = 50):
 
 def other2(origin):
     div = ''
-    session = request.environ.get('beaker.session')
-    if(session.get('View_List')):
-        match = re.findall('(?:(?:([^\n]+)\n))', session.get('View_List'))
+    if('View_List' in session):
+        match = re.findall('(?:(?:([^\n]+)\n))', session['View_List'])
         if(match):
             div = ''
             for data in match[-6:-1]:
@@ -252,13 +248,12 @@ def ip_pas(conn, raw_ip):
 
 def custom(conn):
     curs = conn.cursor()
-    session = request.environ.get('beaker.session')
-    try:
+    if('MyMaiToNight' in session):
         user_head = session['MyMaiToNight']
-    except:
+    else:
         user_head = ''
 
-    if(session.get('Now') == 1):
+    if('Now' in session and session['Now'] == 1):
         curs.execute('select name from alarm where name = ? limit 1', [ip_check()])
         if(curs.fetchall()):
             user_icon = 2
@@ -514,7 +509,7 @@ def re_error(conn, data):
             data = '편집 필터에 의해 검열 되었습니다.'
         elif(num == 22):
             title = '파일 올리기 오류'
-            data = '파일을 읽을 수 없습니다. 파일명이 한글이면 영문으로 바꿔서 올려주세요.'
+            data = '파일 이름은 알파벳, 한글, 띄어쓰기, 언더바, 빼기표만 허용 됩니다.'
         else:
             title = '정체 불명의 오류'
             data = '???'

+ 7 - 6
requirements.txt

@@ -1,6 +1,7 @@
-bottle>=0.12.13
-bottle-beaker>=0.1.3
-css-html-js-minify>=2.2.2
-tornado>=4.5.2
-bcrypt>=3.1.3
-requests>=2.13.0
+bottle >= 0.12.13
+css-html-js-minify >= 2.2.2
+tornado >= 4.5.2
+bcrypt >= 3.1.3
+requests >= 2.13.0
+flask >= 0.12.2
+Flask-Reggie >= 0.0.2

+ 7 - 22
set_mark/macro.py

@@ -1,19 +1,11 @@
-from bottle import request, app
-from bottle.ext import beaker
+from flask import session, request
+
 from urllib import parse
 import time
 import datetime
 import re
 import json
 
-session_opts = {
-    'session.type': 'dbm',
-    'session.data_dir': './app_session/',
-    'session.auto': 1
-}
-
-app = beaker.middleware.SessionMiddleware(app(), session_opts)
-
 def get_time():
     now = time.localtime()
     date = "%04d-%02d-%02d %02d:%02d:%02d" % (now.tm_year, now.tm_mon, now.tm_mday, now.tm_hour, now.tm_min, now.tm_sec)
@@ -21,19 +13,12 @@ def get_time():
     return(date)
     
 def ip_check():
-    session = request.environ.get('beaker.session')
-    try:
-        if(session.get('Now') == 1):
-            ip = format(session['DREAMER'])
-        else:
-            if(request.environ.get('HTTP_X_FORWARDED_FOR')):
-                ip = request.environ.get('HTTP_X_FORWARDED_FOR')
-            else:
-                ip = request.environ.get('REMOTE_ADDR')
-    except:
-        ip = 'None'
+    if(('Now' and 'DREAMER') in session and session['Now'] == 1):
+        ip = session['DREAMER']
+    else:
+        ip = request.environ.get('HTTP_X_REAL_IP', request.remote_addr)
 
-    return(ip)
+    return(str(ip))
 
 def savemark(data):
     data = re.sub("\[date\(now\)\]", get_time(), data)

+ 4 - 1
version.md

@@ -132,6 +132,9 @@
  * 파일 시스템 개선
  * 잡 패치
 
+## 2.6 (Flask + Bottle)
+ * 기반 구조 개편
+
 ----
 ## 오픈나무 라이선스
  * BSD 3-Clause License
@@ -147,7 +150,7 @@
 
 ----
 ## 기타
- * 현재 버전 - v2.5.6 Beta
+ * 현재 버전 - v2.6.0 beta
 
 ----
 ## 개발 이념

Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio