Sfoglia il codice sorgente

pagecount 처리를 JS로 변경

Surplus_Up (2DU) 6 anni fa
parent
commit
b69c7a80a2

+ 4 - 0
app.py

@@ -697,6 +697,10 @@ def api_recent_change():
 def api_sha224(name = 'test'):
     return api_sha224_2(conn, name)
 
+@app.route('/api/title_index')
+def api_title_index():
+    return api_title_index_2(conn)
+
 @app.route('/api/image/<name>')
 def api_image_view(name = ''):
     return api_image_view_2(conn, name, app_var)

+ 14 - 0
route/api_title_index.py

@@ -0,0 +1,14 @@
+from .tool.func import *
+
+def api_title_index_2(conn):
+    curs = conn.cursor()
+
+    if flask.request.args.get('count', '1') == '1':
+        curs.execute(db_change('select data from other where name = "count_all_title"'))
+        title_count = curs.fetchall()
+        if title_count:
+            return flask.jsonify({ 'count' : title_count[0][0] })
+        else:
+            return flask.jsonify({ 'count' : '0' })
+    else:
+        return flask.jsonify({})

+ 1 - 1
route/edit_many_delete.py

@@ -8,7 +8,7 @@ def edit_many_delete_2(conn, app_var):
         return re_error('/ban')
 
     if flask.request.method == 'POST':
-        all_title = re.findall(r'([^\n]+)\n', flask.request.form.get('content', '').replace('\r\n', '\n') + '\n')
+        all_title = re.findall('([^\n]+)\n', flask.request.form.get('content', '').replace('\r\n', '\n') + '\n')
         for name in all_title:
             curs.execute(db_change("select data from data where title = ?"), [name])
             data = curs.fetchall()

+ 1 - 1
route/tool/func.py

@@ -494,7 +494,7 @@ def other2(data):
         data += ['']
 
     req_list = ''
-    main_css_ver = 19
+    main_css_ver = 20
 
     if not 'main_css_load' in flask.session or not 'main_css_ver' in flask.session or flask.session['main_css_ver'] != main_css_ver:
         for i_data in os.listdir(os.path.join("views", "main_css", "css")):

+ 10 - 4
route/tool/set_mark/namumark.py

@@ -609,7 +609,12 @@ def namumark(conn, data, title, main_num, include_num):
             else:
                 end_parser = wiki_table_data[1]
 
-            data = re.sub('<div id="wiki_div" ((?:(?!>).)+)>((?:(?!<div id="wiki_div"|<\/div_1>).\n*)+)<\/div_1>', '<div ' + wiki_table_data[0] + '>' + end_parser + '</div_2>', data, 1)
+            data = re.sub(
+                '<div id="wiki_div" ((?:(?!>).)+)>((?:(?!<div id="wiki_div"|<\/div_1>).\n*)+)<\/div_1>',
+                '<div ' + wiki_table_data[0] + '>' + end_parser + '</div_2>', 
+                data, 
+                1
+            )
         else:
             break
 
@@ -847,9 +852,10 @@ def namumark(conn, data, title, main_num, include_num):
     data = data.replace('<macro_middle>', '(')
     data = data.replace('<macro_end>', ')]')
 
-    curs.execute(tool.db_change('select data from other where name = "count_all_title"'))
-    all_title = curs.fetchall()
-    data = re.sub('\[pagecount\]', all_title[0][0], data, flags = re.I)
+    if re.search('\[pagecount\]', data, flags = re.I):
+        plus_data += 'page_count();\n'
+        data = re.sub('\[pagecount\]', '<span class="all_page_count"></span>', data, flags = re.I)
+
     data = re.sub('\[date\]', now_time, data, flags = re.I)
 
     while 1:

+ 1 - 1
version.json

@@ -1,6 +1,6 @@
 {
     "master" : {
-        "r_ver" : "v3.1.7-master-24",
+        "r_ver" : "v3.1.7-master-25",
         "c_ver" : "3171800",
         "s_ver" : "7"
     }, "stable" : {

+ 24 - 0
views/main_css/js/load_namumark.js

@@ -72,4 +72,28 @@ function load_include(title, name, p_data) {
             }
         }
     }
+}
+
+function page_count() {
+    var n_ver = document.getElementsByClassName('all_page_count');
+
+    var url = "/api/title_index";
+
+    var xhr = new XMLHttpRequest();
+    xhr.open("GET", url, true);
+    xhr.send(null);
+
+    xhr.onreadystatechange = function() {
+        if(this.readyState === 4 && this.status === 200) {
+            var i = 0;
+            while(1) {
+                if(n_ver[i]) {
+                    n_ver[i].innerHTML = JSON.parse(this.responseText)['count'];
+                    i += 1;
+                } else {
+                    break;
+                }
+            }
+        }
+    }
 }