Răsfoiți Sursa

Merge pull request #1088 from 2du/dev

Dev
잉여개발기 (SPDV) 5 ani în urmă
părinte
comite
fe61534a50

+ 32 - 10
route/api_w.py

@@ -3,28 +3,42 @@ from .tool.func import *
 def api_w_2(conn, name):
     curs = conn.cursor()
 
-    if flask.request.args.get('exist', None):
+    data_arg_exist = flask.request.args.get('exist', '')
+    if data_arg_exist != '':
         curs.execute(db_change("select title from data where title = ?"), [name])
         if curs.fetchall():
             return flask.jsonify({ "exist" : "1" })
     else:
         if acl_check(name, 'render') != 1:
             if flask.request.method == 'POST':
-                g_data = flask.request.form.get('data', '')
-                g_data = render_set(title = name, data = g_data, num = 2)
+                data_org = flask.request.form.get('data', '')
+                data_pas = render_set(
+                    title = name, 
+                    data = data_org, 
+                    num = 2
+                )
 
-                return flask.jsonify({ "title" : name, "data" : g_data[0], "js_data" : g_data[1] })
+                return flask.jsonify({
+                    "data" : data_pas[0], 
+                    "js_data" : data_pas[1]
+                })
             else:
-                rev = flask.request.args.get('num', '')
-                if rev != '':
+                data_arg_rev = flask.request.args.get('num', '')
+                if data_arg_rev != '':
                     curs.execute(db_change("select data from history where title = ? and id = ?"), [name, rev])
                 else:
                     curs.execute(db_change("select data from data where title = ?"), [name])
+                
                 data = curs.fetchall()
                 if data:
+                    name_org = flask.request.args.get('name_org', '')
+                    if name_org == '':
+                        name_org = name
+                        
                     json_data = data[0][0]
-                    include_data = flask.request.args.get('include', None)
-                    if include_data:
+                    
+                    include_data = flask.request.args.get('include', '')
+                    if include_data != '':
                         get_all_change_1 = []
                         find_replace_moment = re.findall(r'(@([^=@]+)=([^=@]+)@|@([^=@]+)@)', json_data)
                         for i in find_replace_moment:
@@ -43,8 +57,16 @@ def api_w_2(conn, name):
                                 1
                             )
                         
-                    g_data = render_set(title = name, data = json_data, num = 2, include = include_data)
+                    data_pas = render_set(
+                        title = name_org, 
+                        data = json_data, 
+                        num = 2, 
+                        include = include_data
+                    )
 
-                    return flask.jsonify({ "title" : name, "data" : g_data[0], "js_data" : g_data[1] })
+                    return flask.jsonify({
+                        "data" : data_pas[0], 
+                        "js_data" : data_pas[1]
+                    })
 
     return flask.jsonify({})

+ 2 - 2
route/give_user_ban.py

@@ -84,10 +84,10 @@ def give_user_ban_2(conn, name):
             
             time_data = [
                 ['86400', load_lang('1_day')],
-                ['432000', load_lang('5_day')],
+                ['432000', load_lang('5_day')],
                 ['2592000', load_lang('30_day')],
                 ['15552000', load_lang('180_day')],
-                ['31104000', load_lang('360_day')],
+                ['31104000', load_lang('360_day')],
                 ['0', load_lang('limitless')]
             ]
             insert_data = ''

+ 22 - 18
route/tool/func.py

@@ -41,8 +41,11 @@ for i in range(0, 2):
             print(e)
             print('----')
             if platform.system() == 'Linux' or platform.system() == 'Windows':
-                ok = os.system('python' + ('3' if platform.system() != 'Windows' else '') + ' -m pip install --user -r requirements.txt')
-                if ok == 0:
+                sys_pip_ins = os.system(
+                    'python' + ('3' if platform.system() != 'Windows' else '') + ' ' + \
+                    '-m pip install --user -r requirements.txt'
+                )
+                if sys_pip_ins == 0:
                     print('----')
                     try:
                         os.execl(sys.executable, sys.executable, *sys.argv)
@@ -55,17 +58,16 @@ for i in range(0, 2):
                 else:
                     print('Error : library install failed')
                     raise
-            else:
-                print('----')
-                print(e)
-                raise
-        else:
-            print('----')
-            print(e)
-            raise
+            
+        print('----')
+        print(e)
+        raise
 
 global_lang = {}
-req_list = ''
+
+data_css_ver = '75'
+data_css = ''
+
 conn = ''
 curs = ''
 
@@ -297,7 +299,8 @@ def update(ver_num, set_data):
         if get_data and get_data[0][0] == 'master':
             curs.execute(db_change("update other set data = 'beta' where name = 'update'"), [])
 
-    if ver_num < 3202500:
+    # 캐시 초기화
+    if ver_num < 3206000:
         curs.execute(db_change('delete from cache_data'))
 
     if ver_num < 3202600:
@@ -585,18 +588,19 @@ def next_fix(link, num, page, end = 50):
     return list_data
 
 def other2(data):
-    global req_list
-    main_css_ver = '78'
+    global data_css
+    global data_css_ver
+
     data += ['' for _ in range(0, 3 - len(data))]
 
-    if req_list == '':
+    if data_css == '':
         for i_data in os.listdir(os.path.join("views", "main_css", "css")):
             if i_data != 'sub':
-                req_list += '<link rel="stylesheet" href="/views/main_css/css/' + i_data + '?ver=' + main_css_ver + '">'
+                data_css += '<link rel="stylesheet" href="/views/main_css/css/' + i_data + '?ver=' + data_css_ver + '">'
 
         for i_data in os.listdir(os.path.join("views", "main_css", "js")):
             if i_data != 'sub':
-                req_list += '<script src="/views/main_css/js/' + i_data + '?ver=' + main_css_ver + '"></script>'
+                data_css += '<script src="/views/main_css/js/' + i_data + '?ver=' + data_css_ver + '"></script>'
 
     data = data[0:2] + ['', '''
         <link   rel="stylesheet"
@@ -609,7 +613,7 @@ def other2(data):
                 integrity="sha384-g7c+Jr9ZivxKLnZTDUhnkOnsh30B4H0rpLUpJ4jAIKs4fnJI+sEnkvrMWph2EDg4"
                 crossorigin="anonymous"></script>
         <script src="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@10.1.2/build/highlight.min.js"></script>
-    ''' + req_list + '<script>window.addEventListener(\'DOMContentLoaded\', main_css_skin_load);</script>'] + data[2:]
+    ''' + data_css + '<script>window.addEventListener(\'DOMContentLoaded\', main_css_skin_load);</script>'] + data[2:]
 
     return data
 

+ 17 - 14
route/tool/mark.py

@@ -1,6 +1,5 @@
-from .set_mark.namumark import namumark
-
-from .set_mark.tool import *
+from .namumark import namumark
+from .tool import *
 
 import re
 import os
@@ -13,8 +12,8 @@ import urllib.parse
 conn = ''
 curs = ''
 
-if os.path.exists('route/tool/set_mark/custom.py'):
-    from .set_mark.custom import custom_mark
+if os.path.exists('route/tool/custom.py'):
+    from .custom import custom_mark
 else:
     def custom_mark(conn, data, title, num, include):
         return [data, '', []]
@@ -41,12 +40,9 @@ def send_parser(data):
     return data
 
 def render_do(title, data, num, include):
-    if num == 3:
-        num = 1
-        back_num = 3
-    else:
-        back_num = num
-
+    # num == 1 -> commit O | html
+    # num == 2 -> commit X | list
+    # num == 3 -> commit X 
     curs.execute(db_change('select data from other where name = "markup"'))
     rep_data = curs.fetchall()
     if rep_data[0][0] == 'namumark':
@@ -57,20 +53,27 @@ def render_do(title, data, num, include):
         include = (include + '_') if include else ''
         data = [
             '<div id="' + include + 'render_content">' + html.escape(data) + '</div>', 
-            'do_onmark_render(0, "' + include + 'render_content");',
+            '''
+                do_onmark_render(
+                    test_mode = 0, 
+                    name_id = "''' + include + '''render_content",
+                    name_include = "''' + include + '''",
+                    name_doc = "''' + title.replace('"', '//"') + '''",
+                );
+            ''',
             []
         ]
     else:
         data = [data, '', []]
 
-    if num == 1:
+    if num in [1, 3]:
         if data[2] == []:
             curs.execute(db_change("insert into back (title, link, type) values ('test', ?, 'nothing')"), [title])
         else:
             curs.executemany(db_change("insert into back (link, title, type) values (?, ?, ?)"), data[2])
             curs.execute(db_change("delete from back where title = ? and type = 'no'"), [title])
 
-        if back_num != 3:
+        if num != 3:
             conn.commit()
 
     if num == 2:

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

@@ -656,7 +656,14 @@ def namumark(conn, data, title, include_num):
                     else:
                         break
 
-                plus_data += 'load_include("' + include_link + '", "' + include_name + 'include_' + str(i) + '", ' + str(include_plus_data) + ');\n'
+                plus_data += '' + \
+                    'load_include(' + \
+                        '"' + include_link + '", '+ \
+                        '"' + include_name + 'include_' + str(i) + '", ' + \
+                        str(include_plus_data) + ', ' + \
+                        '"' + title + '"' + \
+                    ');\n' + \
+                ''
             else:
                 break
     else:

+ 0 - 0
route/tool/set_mark/tool.py → route/tool/tool.py


+ 2 - 2
version.json

@@ -1,7 +1,7 @@
 {
     "beta" : {
-        "r_ver" : "v3.2.0-stable-13 (beta-60) (dev-2021-03-26-01)",
-        "c_ver" : "3205500",
+        "r_ver" : "v3.2.0-stable-13 (beta-60) (dev-2021-03-29-01)",
+        "c_ver" : "3206000",
         "s_ver" : "11"
     }
 }

+ 1 - 6
views/main_css/css/main.css

@@ -24,10 +24,6 @@ input {
     margin-top: 10px;
 }
 
-#toc-name {
-    font-size: 18px;
-}
-
 table {
     border-collapse: collapse;
 }
@@ -164,7 +160,7 @@ body {
 }
 
 #toc_title {
-    font-size: 18px;
+    font-size: 1.2rem;
 }
 
 #admin_log_search {
@@ -246,7 +242,6 @@ blockquote {
     background-position: calc(100% - 10px) 10px;
     background-repeat: no-repeat;
     background-size: 25px;
-    font-size: inherit;
 }
 
 hr {

+ 5 - 5
views/main_css/js/load_topic.js

@@ -38,10 +38,10 @@ function new_topic_load(topic_num, type_do = 'top', some = '', where = 'top_topi
                 var ip = data_t[key]['ip_pas'];
                 var ip_o = data_t[key]['ip'];
                 var blind = data_t[key]['blind'];
-                var data_i = data_t[key]['data'];
+                var data_i_pas = data_t[key]['data_pas'][0];
                 
-                if(data_i === '') {
-                    data_i = '<br>';
+                if(data_i_pas === '') {
+                    data_i_pas = '<br>';
                 }
                 
                 if(blind === 'O') {
@@ -62,7 +62,7 @@ function new_topic_load(topic_num, type_do = 'top', some = '', where = 'top_topi
                     ip += ' <a href="/thread/' + topic_num + '/admin/' + key + '">(T)</a>';
                 }
                 
-                if(type_do === 0) {
+                if(type_do === 'top') {
                     color_t = 'toron_color_red';
                 } else if(blind === '1') {
                     color_t = 'toron_color_blue';
@@ -83,7 +83,7 @@ function new_topic_load(topic_num, type_do = 'top', some = '', where = 'top_topi
                         '</tr>' + 
                         '<tr>' + 
                             '<td id="' + color_b + '">' + 
-                                '<div id="topic_scroll">' + data_t[key]['data_pas'][0] + '</div>' + 
+                                '<div id="topic_scroll">' + data_i_pas + '</div>' + 
                             '</td>' + 
                         '</tr>' +
                     '</table>' + 

+ 0 - 0
views/main_css/js/render_markdown.js


+ 18 - 11
views/main_css/js/render_namumark.js

@@ -115,29 +115,36 @@ function get_file_state(data, i = 0) {
     }
 }
 
-function load_include(title, name, p_data) {
+function load_include(name_doc, name_ob, data_include, name_org = '') {
     var change = '';
-    for(key in p_data) {
-        change += '@' + p_data[key][0].replace('&', '<amp>') + '@,' + p_data[key][1].replace(',', '<comma>').replace('&', '<amp>') + ','
+    for(var key in data_include) {
+        change += '' +
+            '@' + data_include[key][0].replace('&', '<amp>') + '@,' + 
+            data_include[key][1].replace(',', '<comma>').replace('&', '<amp>') + ',' +
+        ''
     }
     
-    var url = "/api/w/" + encodeURI(title) + "?include=" + name + "&change=" + change;
+    var url = '' +
+        "/api/w/" + encodeURI(name_doc) + 
+        "?include=" + name_ob + 
+        "&change=" + change +
+        '&name_org=' + name_org +
+    '';
 
     var xhr = new XMLHttpRequest();
     xhr.open("GET", url);
     xhr.send();
 
-    console.log(url);
     xhr.onreadystatechange = function() {
         if(this.readyState === 4 && this.status === 200) {
             if(this.responseText === "{}\n") {
-                document.getElementById(name).innerHTML = "";
-                document.getElementsByClassName(name)[0].href = "/w/" + do_url_change(title); 
-                document.getElementsByClassName(name)[0].id = "not_thing";
+                document.getElementById(name_ob).innerHTML = "";
+                document.getElementsByClassName(name_ob)[0].href = "/w/" + do_url_change(name_doc); 
+                document.getElementsByClassName(name_ob)[0].id = "not_thing";
             } else {
-                var o_p_data = JSON.parse(this.responseText);
-                document.getElementById(name).innerHTML = o_p_data['data'];
-                eval(o_p_data['js_data']);
+                var data_load = JSON.parse(this.responseText);
+                document.getElementById(name_ob).innerHTML = data_load['data'];
+                eval(data_load['js_data']);
             }
         }
     }

+ 1 - 1
views/marisa/css/main.css

@@ -4,7 +4,7 @@ body {
     word-wrap: break-word;
     margin: 0;
     font-family: 'Apple SD Gothic', '맑은고딕', 'Nanum Gothic', 'Noto Sans KR', sans-serif;
-    font-size: 14px;
+    font-size: 0.85rem;
 }
 
 ul {

+ 1 - 1
views/marisa/index.html

@@ -8,7 +8,7 @@
             <title>{{imp[0]}} - {{imp[1][0]}}</title>
         {% endif %}
         {{imp[3][3]|safe}}
-        <link rel="stylesheet" href="/views/marisa/css/main.css?ver=16">
+        <link rel="stylesheet" href="/views/marisa/css/main.css?ver=17">
         <script src="/views/marisa/js/skin_set.js?ver=6"></script>
         <script src="/views/marisa/js/main.js?ver=3"></script>
         <script>main_load(); window.addEventListener('DOMContentLoaded', skin_set);</script>