Bläddra i källkod

https://github.com/openNAMU/openNAMU/issues/1252

잉여개발기 (SPDV) 2 år sedan
förälder
incheckning
47b367cef6
4 ändrade filer med 45 tillägg och 95 borttagningar
  1. 1 1
      route/api_recent_change.py
  2. 12 15
      route/recent_change.py
  3. 31 78
      route/tool/func.py
  4. 1 1
      version.json

+ 1 - 1
route/api_recent_change.py

@@ -9,7 +9,7 @@ def api_recent_change(num = 10):
 
         data_list = []
 
-        curs.execute(db_change('select id, title from rc where type = "" order by date desc limit ?'), [num])
+        curs.execute(db_change('select id, title from rc where type = "normal" order by date desc limit ?'), [num])
         for for_a in curs.fetchall():
             curs.execute(db_change('select id, title, date, ip, send, leng, hide from history where id = ? and title = ?'), for_a)
             db_data = curs.fetchall()

+ 12 - 15
route/recent_change.py

@@ -23,6 +23,15 @@ def recent_change(name = '', tool = '', num = 1, set_type = 'normal'):
         all_admin = admin_check('all', None, ip)
         owner = admin_check(None, None, ip)
 
+        option_list = [
+            ['normal', load_lang('normal')],
+            ['edit', load_lang('edit')],
+            ['move', load_lang('move')],
+            ['delete', load_lang('delete')],
+            ['revert', load_lang('revert')],
+            ['r1', load_lang('new_doc')]
+        ]
+
         if flask.request.method == 'POST':
             return redirect('/diff/' + flask.request.form.get('b', '1') + '/' + flask.request.form.get('a', '1') + '/' + url_pas(name))
         else:
@@ -152,11 +161,7 @@ def recent_change(name = '', tool = '', num = 1, set_type = 'normal'):
 
             if tool == 'history':
                 div = '' + \
-                    '<a href="/history_page/1/normal/' + url_pas(name) + '">(' + load_lang('normal') + ')</a> ' + \
-                    '<a href="/history_page/1/edit/' + url_pas(name) + '">(' + load_lang('edit') + ')</a> ' + \
-                    '<a href="/history_page/1/move/' + url_pas(name) + '">(' + load_lang('move') + ')</a> ' + \
-                    '<a href="/history_page/1/delete/' + url_pas(name) + '">(' + load_lang('delete') + ')</a> ' + \
-                    '<a href="/history_page/1/revert/' + url_pas(name) + '">(' + load_lang('revert') + ')</a>' + \
+                    ' '.join(['<a href="/history_page/1/' + for_a[0] + '/' + url_pas(name) + '">(' + for_a[1] + ')</a> ' for for_a in option_list]) + \
                     '<hr class="main_hr">' + div + \
                 ''
                 menu = [['w/' + url_pas(name), load_lang('return')]]
@@ -180,11 +185,7 @@ def recent_change(name = '', tool = '', num = 1, set_type = 'normal'):
                 div += get_next_page_bottom('/history_page/{}/' + set_type + '/' + url_pas(name), num, data_list)
             elif tool == 'record':
                 div = '' + \
-                    '<a href="/record/1/normal/' + url_pas(name) + '">(' + load_lang('normal') + ')</a> ' + \
-                    '<a href="/record/1/edit/' + url_pas(name) + '">(' + load_lang('edit') + ')</a> ' + \
-                    '<a href="/record/1/move/' + url_pas(name) + '">(' + load_lang('move') + ')</a> ' + \
-                    '<a href="/record/1/delete/' + url_pas(name) + '">(' + load_lang('delete') + ')</a> ' + \
-                    '<a href="/record/1/revert/' + url_pas(name) + '">(' + load_lang('revert') + ')</a>' + \
+                    ' '.join(['<a href="/record/1/' + for_a[0] + '/' + url_pas(name) + '">(' + for_a[1] + ')</a> ' for for_a in option_list]) + \
                     '<hr class="main_hr">' + div + \
                 ''
 
@@ -199,12 +200,8 @@ def recent_change(name = '', tool = '', num = 1, set_type = 'normal'):
                 div += get_next_page_bottom('/record/{}/' + url_pas(name), num, data_list)
             else:
                 div = '' + \
-                    '<a href="/recent_change/1/normal">(' + load_lang('normal') + ')</a> ' + \
-                    '<a href="/recent_change/1/edit">(' + load_lang('edit') + ')</a> ' + \
+                    ' '.join(['<a href="/recent_change/1/' + for_a[0] + '">(' + for_a[1] + ')</a> ' for for_a in option_list]) + \
                     '<a href="/recent_change/1/user">(' + load_lang('user_document') + ')</a> ' + \
-                    '<a href="/recent_change/1/move">(' + load_lang('move') + ')</a> ' + \
-                    '<a href="/recent_change/1/delete">(' + load_lang('delete') + ')</a> ' + \
-                    '<a href="/recent_change/1/revert">(' + load_lang('revert') + ')</a>' + \
                     '<hr class="main_hr">' + div + \
                 ''
 

+ 31 - 78
route/tool/func.py

@@ -2479,7 +2479,7 @@ def ban_insert(name, end, why, login, blocker, type_d = None):
         curs.execute(db_change("" + \
             "select block from rb " + \
             "where ((end > ? and end != '') or end = '') and block = ? and " + \
-                "band = ? and ongoing = '1'" + \
+            "band = ? and ongoing = '1'" + \
         ""), [now_time, name, band])
         if curs.fetchall():
             curs.execute(db_change(
@@ -2519,6 +2519,14 @@ def ban_insert(name, end, why, login, blocker, type_d = None):
                 login
             ])
 
+def history_plus_rc_max(curs, mode):
+    curs.execute(db_change("select count(*) from rc where type = ?"), [mode])
+    if curs.fetchall()[0][0] >= 200:
+        curs.execute(db_change("select id, title from rc where type = ? order by date asc limit 1"), [mode])
+        rc_data = curs.fetchall()
+        if rc_data:
+            curs.execute(db_change('delete from rc where id = ? and title = ? and type = ?'), [rc_data[0][0], rc_data[0][1], mode])
+
 def history_plus(title, data, date, ip, send, leng, t_check = '', mode = ''):
     with get_db_connect() as conn:
         curs = conn.cursor()
@@ -2530,18 +2538,15 @@ def history_plus(title, data, date, ip, send, leng, t_check = '', mode = ''):
             return 0
 
         if mode == 'add':
-            curs.execute(db_change(
-                "select id from history where title = ? order by id + 0 asc limit 1"
-            ), [title])
+            curs.execute(db_change("select id from history where title = ? order by id + 0 asc limit 1"), [title])
             id_data = curs.fetchall()
             id_data = str(int(id_data[0][0]) - 1) if id_data else '0'
         else:
-            curs.execute(db_change(
-                "select id from history where title = ? order by id + 0 desc limit 1"
-            ), [title])
+            curs.execute(db_change("select id from history where title = ? order by id + 0 desc limit 1"), [title])
             id_data = curs.fetchall()
             id_data = str(int(id_data[0][0]) + 1) if id_data else '1'
             
+            mode = 'r1' if id_data == '1' else mode
             mode = mode if not re.search('^user:', title) else 'user'
 
         send = re.sub(r'\(|\)|<|>', '', send)
@@ -2549,82 +2554,30 @@ def history_plus(title, data, date, ip, send, leng, t_check = '', mode = ''):
         send = send + ' (' + t_check + ')' if t_check != '' else send
 
         if mode != 'add' and mode != 'user':
-            curs.execute(db_change("select count(*) from rc where type = 'normal'"))
-            if curs.fetchall()[0][0] >= 200:
-                curs.execute(db_change(
-                    "select id, title from rc where type = 'normal' order by date asc limit 1"
-                ))
-                rc_data = curs.fetchall()
-                if rc_data:
-                    curs.execute(db_change(
-                        'delete from rc where id = ? and title = ? and type = "normal"'
-                    ), [
-                        rc_data[0][0],
-                        rc_data[0][1]
-                    ])
-        
-            curs.execute(db_change(
-                "insert into rc (id, title, date, type) values (?, ?, ?, 'normal')"
-            ), [
-                id_data,
-                title,
-                date
-            ])
+            history_plus_rc_max(curs, 'normal')
+            curs.execute(db_change("insert into rc (id, title, date, type) values (?, ?, ?, 'normal')"), [id_data, title, date])
         
         if mode != 'add':
-            curs.execute(db_change("select count(*) from rc where type = ?"), [mode])
-            if curs.fetchall()[0][0] >= 200:
-                curs.execute(db_change(
-                    "select id, title from rc where type = ? order by date asc limit 1"
-                ), [mode])
-                rc_data = curs.fetchall()
-                if rc_data:
-                    curs.execute(db_change(
-                        'delete from rc where id = ? and title = ? and type = ?'
-                    ), [
-                        rc_data[0][0],
-                        rc_data[0][1],
-                        mode
-                    ])
-        
-            curs.execute(db_change(
-                "insert into rc (id, title, date, type) values (?, ?, ?, ?)"
-            ), [
-                id_data,
-                title,
-                date,
-                mode
-            ])
-                
-        curs.execute(db_change(
-            "insert into history (id, title, data, date, ip, send, leng, hide, type) " + \
-            "values (?, ?, ?, ?, ?, ?, ?, '', ?)"
-        ), [
-            id_data,
-            title,
-            data,
-            date,
-            ip,
-            send,
-            leng,
-            mode
-        ])
+            history_plus_rc_max(curs, mode)
+            curs.execute(db_change("insert into rc (id, title, date, type) values (?, ?, ?, ?)"), [id_data, title, date, mode])
 
-        data_set_exist = '' if t_check != 'delete' else '1'
+            data_set_exist = '' if t_check != 'delete' else '1'
 
-        curs.execute(db_change("select doc_name from data_set where doc_name = ? and set_name = 'last_edit'"), [title])
-        db_data = curs.fetchall()
-        if db_data:
-            curs.execute(db_change("update data_set set set_data = ?, doc_rev = ? where doc_name = ? and set_name = 'last_edit'"), [date, data_set_exist, title])
-        else:
-            curs.execute(db_change("insert into data_set (doc_name, doc_rev, set_name, set_data) values (?, ?, 'last_edit', ?)"), [title, data_set_exist, date])
+            curs.execute(db_change("select doc_name from data_set where doc_name = ? and set_name = 'last_edit'"), [title])
+            db_data = curs.fetchall()
+            if db_data:
+                curs.execute(db_change("update data_set set set_data = ?, doc_rev = ? where doc_name = ? and set_name = 'last_edit'"), [date, data_set_exist, title])
+            else:
+                curs.execute(db_change("insert into data_set (doc_name, doc_rev, set_name, set_data) values (?, ?, 'last_edit', ?)"), [title, data_set_exist, date])
 
-        curs.execute(db_change("select doc_name from data_set where doc_name = ? and set_name = 'length'"), [title])
-        db_data = curs.fetchall()
-        if db_data:
-            curs.execute(db_change("update data_set set set_data = ?, doc_rev = ? where doc_name = ? and set_name = 'length'"), [len(data), data_set_exist, title])
-        else:
-            curs.execute(db_change("insert into data_set (doc_name, doc_rev, set_name, set_data) values (?, ?, 'length', ?)"), [title, data_set_exist, len(data)])
+            curs.execute(db_change("select doc_name from data_set where doc_name = ? and set_name = 'length'"), [title])
+            db_data = curs.fetchall()
+            if db_data:
+                curs.execute(db_change("update data_set set set_data = ?, doc_rev = ? where doc_name = ? and set_name = 'length'"), [len(data), data_set_exist, title])
+            else:
+                curs.execute(db_change("insert into data_set (doc_name, doc_rev, set_name, set_data) values (?, ?, 'length', ?)"), [title, data_set_exist, len(data)])
+
+        curs.execute(db_change("insert into history (id, title, data, date, ip, send, leng, hide, type) values (?, ?, ?, ?, ?, ?, ?, '', ?)"), [id_data, title, data, date, ip, send, leng, mode])
 
 # Func-error
 def re_error(data):

+ 1 - 1
version.json

@@ -1,6 +1,6 @@
 {
     "beta" : {
-        "r_ver" : "v3.4.6-RC5-dev28",
+        "r_ver" : "v3.4.6-RC5-dev29",
         "c_ver" : "3500373",
         "s_ver" : "3500112"
     }