Explorar el Código

버그 수정, 테이블 통합 작업

잉여개발기 (SPDV) hace 5 años
padre
commit
00c196c411
Se han modificado 8 ficheros con 41 adiciones y 23 borrados
  1. 1 4
      app.py
  2. 3 3
      route/inter_wiki.py
  3. 2 2
      route/inter_wiki_del.py
  4. 11 8
      route/inter_wiki_plus.py
  5. 21 2
      route/tool/func.py
  6. 0 1
      route/tool/mark.py
  7. 1 1
      route/tool/set_mark/namumark.py
  8. 2 2
      version.json

+ 1 - 4
app.py

@@ -141,13 +141,10 @@ create_data['alist'] = ['name', 'acl']
 create_data['re_admin'] = ['who', 'what', 'time']
 create_data['alarm'] = ['name', 'data', 'date']
 create_data['ua_d'] = ['name', 'ip', 'ua', 'today', 'sub']
-create_data['filter'] = ['name', 'regex', 'sub']
 create_data['scan'] = ['user', 'title', 'type']
 create_data['acl'] = ['title', 'decu', 'dis', 'view', 'why']
-create_data['inter'] = ['title', 'link', 'icon']
-create_data['html_filter'] = ['html', 'kind', 'plus']
+create_data['html_filter'] = ['html', 'kind', 'plus', 'plus_t']
 create_data['vote'] = ['name', 'id', 'subject', 'data', 'user', 'type', 'acl']
-# create_data['oauth_conn'] = ['provider', 'wiki_id', 'sns_id', 'name', 'picture']
 for i in create_data:
     try:
         curs.execute(db_change('select test from ' + i + ' limit 1'))

+ 3 - 3
route/inter_wiki.py

@@ -12,7 +12,7 @@ def inter_wiki_2(conn, tools):
         title = load_lang('interwiki_list')
         div = ''
 
-        curs.execute(db_change('select title, link from inter'))
+        curs.execute(db_change("select html, plus from html_filter where kind = 'inter_wiki'"))
     elif tools == 'email_filter':
         del_link = 'del_email_filter'
         plus_link = 'plus_email_filter'
@@ -29,11 +29,11 @@ def inter_wiki_2(conn, tools):
         curs.execute(db_change("select html from html_filter where kind = 'name'"))
     elif tools == 'edit_filter':
         del_link = 'del_edit_filter'
-        plus_link = 'manager/9'
+        plus_link = 'plus_edit_filter'
         title = load_lang('edit_filter_list')
         div = ''
 
-        curs.execute(db_change("select name from filter"))
+        curs.execute(db_change("select html from html_filter where kind = 'regex_filter'"))
     elif tools == 'file_filter':
         del_link = 'del_file_filter'
         plus_link = 'plus_file_filter'

+ 2 - 2
route/inter_wiki_del.py

@@ -5,9 +5,9 @@ def inter_wiki_del_2(conn, tools, name):
 
     if admin_check(None, tools) == 1:
         if tools == 'del_inter_wiki':
-            curs.execute(db_change("delete from inter where title = ?"), [name])
+            curs.execute(db_change("delete from html_filter where html = ? and kind = 'inter_wiki'"), [name])
         elif tools == 'del_edit_filter':
-            curs.execute(db_change("delete from filter where name = ?"), [name])
+            curs.execute(db_change("delete from html_filter where html = ? and kind = 'regex_filter'"), [name])
         elif tools == 'del_name_filter':
             curs.execute(db_change("delete from html_filter where html = ? and kind = 'name'"), [name])
         elif tools == 'del_file_filter':

+ 11 - 8
route/inter_wiki_plus.py

@@ -6,9 +6,12 @@ def inter_wiki_plus_2(conn, tools, name):
     if flask.request.method == 'POST':
         if tools == 'plus_inter_wiki':
             if name:
-                curs.execute(db_change("delete from inter where title = ?"), [name])
+                curs.execute(db_change("delete from html_filter where html = ? and kind = 'inter_wiki'"), [name])
 
-            curs.execute(db_change('insert into inter (title, link, icon) values (?, ?, ?)'), [
+            curs.execute(db_change("delete from html_filter where html = ? and kind = 'inter_wiki'"), [
+                flask.request.form.get('title', 'test')
+            ])
+            curs.execute(db_change('insert into html_filter (html, plus, plus_t, kind) values (?, ?, ?, "inter_wiki")'), [
                 flask.request.form.get('title', 'test'),
                 flask.request.form.get('link', 'test'),
                 flask.request.form.get('icon', '')
@@ -16,7 +19,7 @@ def inter_wiki_plus_2(conn, tools, name):
 
             admin_check(None, 'inter_wiki_plus')
         elif tools == 'plus_edit_filter':
-            if admin_check(1, 'edit_filter edit') != 1:
+            if admin_check(None, 'edit_filter edit') != 1:
                 return re_error('/error/3')
 
             if flask.request.form.get('second', '0') == '0':
@@ -27,8 +30,8 @@ def inter_wiki_plus_2(conn, tools, name):
             try:
                 re.compile(flask.request.form.get('content', 'test'))
 
-                curs.execute(db_change("delete from filter where name = ?"), [name])
-                curs.execute(db_change("insert into filter (name, regex, sub) values (?, ?, ?)"), [
+                curs.execute(db_change("delete from html_filter where html = ? and kind = 'regex_filter'"), [name])
+                curs.execute(db_change("insert into html_filter (html, plus, plus_t, kind) values (?, ?, ?, 'regex_filter')"), [
                     name,
                     flask.request.form.get('content', 'test'),
                     end
@@ -91,14 +94,14 @@ def inter_wiki_plus_2(conn, tools, name):
         return redirect('/' + re.sub(r'^plus_', '', tools))
     else:
         get_sub = 0
-        if admin_check(1) != 1:
+        if admin_check() != 1:
             stat = 'disabled'
         else:
             stat = ''
 
         if tools == 'plus_inter_wiki':
             if name:
-                curs.execute(db_change("select title, link, icon from inter where title = ?"), [name])
+                curs.execute(db_change("select html, plus, plus_t from html_filter where html = ? and kind = 'inter_wiki'"), [name])
                 exist = curs.fetchall()
                 if exist:
                     value = exist[0]
@@ -122,7 +125,7 @@ def inter_wiki_plus_2(conn, tools, name):
                 <input value="''' + html.escape(value[2]) + '''" type="text" name="icon">
             '''
         elif tools == 'plus_edit_filter':
-            curs.execute(db_change("select regex, sub from filter where name = ?"), [name])
+            curs.execute(db_change("select plus, plus_t from html_filter where html = ? and kind = 'regex_filter'"), [name])
             exist = curs.fetchall()
             if exist:
                 textarea = exist[0][0]

+ 21 - 2
route/tool/func.py

@@ -273,6 +273,23 @@ def update(ver_num, set_data):
     if ver_num < 3202500:
         curs.execute(db_change('delete from cache_data'))
 
+    if ver_num < 3202600:
+        curs.execute(db_change("select name, regex, sub from filter"))
+        for i in curs.fetchall():
+            curs.execute(db_change("insert into html_filter (html, kind, plus, plus_t) values (?, 'regex_filter', ?, ?)"), [
+                i[0], 
+                i[1],
+                i[2]
+            ])
+
+        curs.execute(db_change("select title, link, icon from inter"))
+        for i in curs.fetchall():
+            curs.execute(db_change("insert into html_filter (html, kind, plus, plus_t) values (?, 'inter_wiki', ?, ?)"), [
+                i[0], 
+                i[1],
+                i[2]
+            ])
+
     conn.commit()
 
     print('Update pass')
@@ -941,7 +958,9 @@ def acl_check(name = 'test', tool = '', topic_num = '1'):
             num = 5
 
         acl_data = curs.fetchall()
-        if (not acl_data and i == (end - 1)) and get_ban == 1 and tool != 'render':
+        if  (i == (end - 1) and (not acl_data or acl_data[0][0] == '' or acl_data[0][0] == 'normal')) and \
+            get_ban == 1 and \
+            tool != 'render':
             return 1
         elif acl_data and acl_data[0][0] != 'normal' and acl_data[0][0] != '':
             if acl_data[0][0] != 'ban' and get_ban == 1 and tool != 'render':
@@ -1174,7 +1193,7 @@ def number_check(data):
 
 def edit_filter_do(data):
     if admin_check(1) != 1:
-        curs.execute(db_change("select regex, sub from filter where regex != ''"))
+        curs.execute(db_change("select plus, plus_t from html_filter where kind = 'regex_filter' and plus != ''"))
         for data_list in curs.fetchall():
             match = re.compile(data_list[0], re.I)
             if match.search(data):

+ 0 - 1
route/tool/mark.py

@@ -10,7 +10,6 @@ import sqlite3
 import asyncio
 import threading
 import urllib.parse
-import multiprocessing
 
 if os.path.exists('route/tool/set_mark/custom.py'):
     from .set_mark.custom import custom_mark

+ 1 - 1
route/tool/set_mark/namumark.py

@@ -1052,7 +1052,7 @@ def namumark(conn, data, title, include_num):
                 inter_data = re.search(r'^inter:((?:(?!:).)+):((?:(?!\]\]).)+)', main_link)
                 inter_data = inter_data.groups()
 
-                curs.execute(tool.db_change('select link, icon from inter where title = ?'), [inter_data[0]])
+                curs.execute(tool.db_change('select plus, plus_t from html_filter where html = ? and kind = "inter_wiki"'), [inter_data[0]])
                 inter = curs.fetchall()
                 if inter:
                     return_link = link_fix(inter_data[1], 1)

+ 2 - 2
version.json

@@ -1,7 +1,7 @@
 {
     "beta" : {
-        "r_ver" : "v3.2.0-beta-26 (v3.2.0-dev-2020-08-20-01)",
-        "c_ver" : "3202500",
+        "r_ver" : "v3.2.0-beta-26 (v3.2.0-dev-2020-08-24-01)",
+        "c_ver" : "3202600",
         "s_ver" : "9"
     }
 }