ソースを参照

API 교통 정리

잉여개발기 2 年 前
コミット
6a738044a5

+ 6 - 2
app.py

@@ -659,6 +659,7 @@ app.route('/bbs/edit/<int:bbs_num>/<int:post_num>/<comment_num>', methods = ['PO
 app.route('/bbs/delete/<int:bbs_num>/<int:post_num>/<comment_num>', methods = ['POST', 'GET'])(bbs_w_delete)
 
 # Func-api
+## v1 API
 app.route('/api/render', methods = ['POST'], defaults = { 'db_set' : db_set_str })(api_w_render)
 app.route('/api/render/<tool>', methods = ['POST'], defaults = { 'db_set' : db_set_str })(api_w_render)
 
@@ -706,8 +707,6 @@ app.route('/api/recent_changes', defaults = { 'db_set' : db_set_str })(api_list_
 app.route('/api/recent_change/<int:limit>', defaults = { 'db_set' : db_set_str })(api_list_recent_change)
 app.route('/api/recent_change/<int:limit>/<set_type>/<int:num>', defaults = { 'db_set' : db_set_str })(api_list_recent_change)
 
-app.route('/api/new/recent_change/<int:limit>/<set_type>/<int:num>', defaults = { 'db_set' : db_set_str, 'legacy' : '' })(api_list_recent_change)
-
 app.route('/api/recent_edit_request', defaults = { 'db_set' : db_set_str })(api_list_recent_edit_request)
 app.route('/api/recent_edit_request/<int:limit>/<set_type>/<int:num>', defaults = { 'db_set' : db_set_str })(api_list_recent_edit_request)
 
@@ -722,6 +721,11 @@ app.route('/api/ip/<everything:data>', defaults = { 'db_set' : db_set_str })(api
 
 app.route('/api/image/<everything:name>')(api_image_view)
 
+## v2 API
+app.route('/api/v2/recent_edit_request/<int:limit>/<set_type>/<int:num>', defaults = { 'db_set' : db_set_str })(api_list_recent_edit_request)
+app.route('/api/v2/recent_change/<int:limit>/<set_type>/<int:num>', defaults = { 'db_set' : db_set_str, 'legacy' : '' })(api_list_recent_change)
+app.route('/api/v2/recent_discuss/<set_type>/<int:limit>', defaults = { 'db_set' : db_set_str, 'legacy' : '' })(api_list_recent_discuss)
+
 # Func-main
 # 여기도 전반적인 조정 시행 예정
 app.route('/other')(main_tool_other)

+ 0 - 1
lang/en-US.json

@@ -471,7 +471,6 @@
                 "stiemap_exclude_file_page" : "Exclude file page(s)",
                 "stiemap_exclude_category_page" : "Exclude category page(s)",
         "_comment_2.3_" : "List",
-            "open_discussion_list" : "Open discussion(s) list",
             "discussion_list" : "Discussion(s) list",
             "admin_list" : "Administrator(s) list",
             "member_list" : "Member(s) list",

+ 0 - 1
lang/ko-KR.json

@@ -262,7 +262,6 @@
     "id_filter_list": "ID 필터 목록",
     "other": "기타",
     "edit": "편집",
-    "open_discussion_list": "열린 토론 목록",
     "user_head_warning": "비로그인시 브라우저를 닫거나 로그인시 사용자가 지정한 정보는 삭제됩니다.",
     "email_required": "이메일 사용",
     "1_day": "1일",

+ 0 - 1
route/__init__.py

@@ -104,7 +104,6 @@ from route.recent_app_submit import recent_app_submit_2
 from route.recent_block import recent_block
 from route.recent_change import recent_change
 from route.recent_edit_request import recent_edit_request
-from route.recent_discuss import recent_discuss
 from route.recent_history_add import recent_history_add
 from route.recent_history_delete import recent_history_delete
 from route.recent_history_hidden import recent_history_hidden

+ 2 - 1
route/go_api_list_recent_discuss.py

@@ -1,9 +1,10 @@
 from .tool.func import *
 
-def api_list_recent_discuss(db_set, set_type = 'normal', limit = 10):
+def api_list_recent_discuss(db_set, set_type = 'normal', limit = 10, legacy = 'on'):
     other_set = {}
     other_set["limit"] = str(limit)
     other_set["set_type"] = set_type
+    other_set["legacy"] = legacy
     other_set["ip"] = ip_check()
     other_set = json.dumps(other_set)
 

+ 2 - 2
route/n_list_recent_discuss.py

@@ -6,10 +6,10 @@ def list_recent_discuss(tool = 'normal'):
         if tool == 'normal':
             pass
         elif tool == 'close':
-            m_sub = '(' + get_lang(conn, 'closed') + ')'
+            m_sub = '(' + get_lang(conn, 'close_discussion') + ')'
         else:
             tool = 'open'
-            m_sub = '(' + get_lang(conn, 'open_discussion_list') + ')'
+            m_sub = '(' + get_lang(conn, 'open_discussion') + ')'
 
         return easy_minify(conn, flask.render_template(skin_check(conn),
             imp = [get_lang(conn, 'recent_discussion'), wiki_set(conn), wiki_custom(conn), wiki_css([m_sub, 0])],

+ 0 - 80
route/recent_discuss.py

@@ -1,80 +0,0 @@
-from .tool.func import *
-
-def recent_discuss(tool):
-    with get_db_connect() as conn:
-        curs = conn.cursor()
-
-        div = ''
-        admin_auth = admin_check(conn, 3)
-
-        if tool == 'normal':
-            div += '<a href="/recent_discuss/close">(' + get_lang(conn, 'close_discussion') + ')</a> '
-            div += '<a href="/recent_discuss/open">(' + get_lang(conn, 'open_discussion_list') + ')</a>'
-
-            m_sub = 0
-        elif tool == 'close':
-            div += '<a href="/recent_discuss">(' + get_lang(conn, 'normal') + ')</a>'
-
-            m_sub = ' (' + get_lang(conn, 'closed') + ')'
-        else:
-            div += '<a href="/recent_discuss">(' + get_lang(conn, 'normal') + ')</a>'
-
-            m_sub = ' (' + get_lang(conn, 'open_discussion_list') + ')'
-
-        div +=  '''
-                <hr class="main_hr">
-                <table id="main_table_set">
-                    <tbody>
-                        <tr id="main_table_top_tr">
-                            <td id="main_table_width">''' + get_lang(conn, 'discussion_name') + '''</td>
-                            <td id="main_table_width">''' + get_lang(conn, 'editor') + '''</td>
-                            <td id="main_table_width">''' + get_lang(conn, 'time') + '''</td>
-                        </tr>
-                '''
-
-        if tool == 'normal':
-            curs.execute(db_change("select title, sub, date, code from rd where not stop = 'O' order by date desc limit 50"))
-        elif tool == 'close':
-            curs.execute(db_change("select title, sub, date, code from rd where stop = 'O' order by date desc limit 50"))
-        else:
-            curs.execute(db_change('select title, sub, date, code from rd where stop != "O" order by date asc limit 50'))
-
-        db_data = curs.fetchall()
-
-        last_editor = []
-        for for_a in db_data:
-            curs.execute(db_change("select ip from topic where code = ? order by id + 0 desc limit 1"), [for_a[3]])
-            db_data_2 = curs.fetchall()
-            if db_data_2:
-                last_editor += [db_data_2[0][0]]
-            else:
-                last_editor += ['']
-
-        last_editor_ip_pas = ip_pas(conn, last_editor)
-
-        count = 0
-        for data in db_data:
-            div += '' + \
-                '<tr>' + \
-                    '<td>' + \
-                        '<a href="/thread/' + data[3] + '">' + html.escape(data[1]) + '</a> ' + \
-                        '<a href="/topic/' + url_pas(data[0]) + '">(' + html.escape(data[0]) + ')</a>' + \
-                        (' <a href="/thread/' + data[3] + '/tool">(' + get_lang(conn, 'tool') + ')</a>' if admin_auth == 1 else '') + \
-                    '</td>' + \
-                    '<td>' + last_editor_ip_pas[last_editor[count]] + '</td>' + \
-                    '<td>' + data[2] + '</td>' + \
-                '</tr>' + \
-            ''
-
-            count += 1
-
-        div += '' + \
-                '</tbody>' + \
-            '</table>' + \
-        ''
-
-        return easy_minify(conn, flask.render_template(skin_check(conn),
-            imp = [get_lang(conn, 'recent_discussion'), wiki_set(conn), wiki_custom(conn), wiki_css([m_sub, 0])],
-            data = div,
-            menu = [['other', get_lang(conn, 'return')]]
-        ))

+ 1 - 1
route/tool/func.py

@@ -1042,7 +1042,7 @@ def skin_check(conn, set_n = 0):
         return skin
     
 def cache_v():
-    return '.cache_v234'
+    return '.cache_v235'
 
 def wiki_css(data):
     global global_wiki_set

BIN
route_go/bin/main.amd64.bin


BIN
route_go/bin/main.amd64.exe


BIN
route_go/bin/main.arm64.bin


BIN
route_go/bin/main.arm64.exe


+ 13 - 6
route_go/route/api_list_recent_change.go

@@ -130,11 +130,13 @@ func Api_list_recent_change(call_arg []string) {
 		}
 	}
 
-	if len(data_list) == 0 {
-		fmt.Print("{}")
-	} else if other_set["legacy"] != "" {
-		json_data, _ := json.Marshal(data_list)
-		fmt.Print(string(json_data))
+	if other_set["legacy"] != "" {
+		if len(data_list) == 0 {
+			fmt.Print("{}")
+		} else {
+			json_data, _ := json.Marshal(data_list)
+			fmt.Print(string(json_data))
+		}
 	} else {
 		auth_name := tool.Get_user_auth(db, db_set, other_set["ip"])
 		auth_info := tool.Get_auth_group_info(db, db_set, auth_name)
@@ -158,7 +160,12 @@ func Api_list_recent_change(call_arg []string) {
 			"send_edit":      tool.Get_language(db, db_set, "send_edit", false),
 		}
 		return_data["auth"] = auth_info
-		return_data["data"] = data_list
+
+		if len(data_list) == 0 {
+			return_data["data"] = map[string]string{}
+		} else {
+			return_data["data"] = data_list
+		}
 
 		json_data, _ := json.Marshal(return_data)
 		fmt.Print(string(json_data))

+ 27 - 3
route_go/route/api_list_recent_discuss.go

@@ -111,10 +111,34 @@ func Api_list_recent_discuss(call_arg []string) {
 		})
 	}
 
-	if len(data_list) == 0 {
-		fmt.Print("{}")
+	if other_set["legacy"] != "" {
+		if len(data_list) == 0 {
+			fmt.Print("{}")
+		} else {
+			json_data, _ := json.Marshal(data_list)
+			fmt.Print(string(json_data))
+		}
 	} else {
-		json_data, _ := json.Marshal(data_list)
+		auth_name := tool.Get_user_auth(db, db_set, other_set["ip"])
+		auth_info := tool.Get_auth_group_info(db, db_set, auth_name)
+
+		return_data := make(map[string]interface{})
+		return_data["language"] = map[string]string{
+			"tool":             tool.Get_language(db, db_set, "tool", false),
+			"normal":           tool.Get_language(db, db_set, "normal", false),
+			"close_discussion": tool.Get_language(db, db_set, "close_discussion", false),
+			"open_discussion":  tool.Get_language(db, db_set, "open_discussion", false),
+			"closed":           tool.Get_language(db, db_set, "closed", false),
+		}
+		return_data["auth"] = auth_info
+
+		if len(data_list) == 0 {
+			return_data["data"] = map[string]string{}
+		} else {
+			return_data["data"] = data_list
+		}
+
+		json_data, _ := json.Marshal(return_data)
 		fmt.Print(string(json_data))
 	}
 }

+ 1 - 1
version.json

@@ -1,6 +1,6 @@
 {
     "beta" : {
-        "r_ver" : "v3.5.0-dev80",
+        "r_ver" : "v3.5.0-dev81",
         "c_ver" : "3500377",
         "s_ver" : "3500113"
     }

+ 1 - 1
views/main_css/js/route/list_recent_change.js

@@ -1,7 +1,7 @@
 "use strict";
 
 function opennamu_list_recent_change(num, set_type) {
-    fetch('/api/new/recent_change/50/' + set_type + '/' + String(num)).then(function(res) {
+    fetch('/api/v2/recent_change/50/' + set_type + '/' + String(num)).then(function(res) {
         return res.json();
     }).then(function(data) {
         let lang = data["language"];

+ 34 - 43
views/main_css/js/route/list_recent_discuss.js

@@ -1,58 +1,49 @@
 "use strict";
 
 function opennamu_list_recent_discuss(tool = 'normal') {
-    let lang_data = new FormData();
-    lang_data.append('data', 'tool normal close_discussion open_discussion_list closed')
-
-    fetch('/api/lang', {
-        method : 'post',
-        body : lang_data,
-    }).then(function(res) {
+    fetch('/api/v2/recent_discuss/' + tool + '/50').then(function(res) {
         return res.json();
-    }).then(function(lang) {
-        lang = lang["data"];
-
-        fetch('/api/recent_discuss/' + tool + '/50').then(function(res) {
-            return res.json();
-        }).then(function(data) {
-            let data_html = '';
-
-            let option_list = [
-                ['normal', lang[1]],
-                ['close', lang[2]],
-                ['open', lang[3]]
-            ];
-            for(let for_a = 0; for_a < option_list.length; for_a++) {
-                data_html += '<a href="/recent_discuss/' + option_list[for_a][0] + '">(' + option_list[for_a][1] + ')</a> ';
-            }
-
-            data_html += '<hr class="main_hr">'
+    }).then(function(data) {
+        let lang = data["language"];
+        data = data["data"];
 
-            for(let for_a = 0; for_a < data.length; for_a++) {
-                let doc_name = opennamu_do_url_encode(data[for_a][0]);
+        let data_html = '';
 
-                data_html += '<div class="opennamu_recent_change">';
-                data_html += '<a href="/thread/' + data[for_a][3] + '">' + opennamu_xss_filter(data[for_a][1]) + '</a> ';
-                data_html += '<a href="/w/' + doc_name + '">(' + opennamu_xss_filter(data[for_a][0]) + ')</a> ';
+        let option_list = [
+            ['normal', lang['normal']],
+            ['close', lang['close_discussion']],
+            ['open', lang['open_discussion']]
+        ];
+        for(let for_a = 0; for_a < option_list.length; for_a++) {
+            data_html += '<a href="/recent_discuss/' + option_list[for_a][0] + '">(' + option_list[for_a][1] + ')</a> ';
+        }
 
-                data_html += '<div style="float: right;">';
+        data_html += '<hr class="main_hr">'
 
-                if(data[for_a][4] === 'O') {
-                    data_html += lang[4] + ' | ';
-                }
+        for(let for_a = 0; for_a < data.length; for_a++) {
+            let doc_name = opennamu_do_url_encode(data[for_a][0]);
 
-                data_html += '<a href="/thread/' + data[for_a][3] + '#' + data[for_a][7] + '">#' + data[for_a][7] + '</a> | ';
-                data_html += data[for_a][6] + ' | ';
-                data_html += data[for_a][2];
+            data_html += '<div class="opennamu_recent_change">';
+            data_html += '<a href="/thread/' + data[for_a][3] + '">' + opennamu_xss_filter(data[for_a][1]) + '</a> ';
+            data_html += '<a href="/w/' + doc_name + '">(' + opennamu_xss_filter(data[for_a][0]) + ')</a> ';
 
-                data_html += '</div>';
-                data_html += '<div style="clear: both;"></div>';
+            data_html += '<div style="float: right;">';
 
-                data_html += '</div>';
-                data_html += '<hr class="main_hr">';
+            if(data[for_a][4] === 'O') {
+                data_html += lang['closed'] + ' | ';
             }
 
-            document.getElementById('opennamu_list_recent_discuss').innerHTML = data_html;
-        });
+            data_html += '<a href="/thread/' + data[for_a][3] + '#' + data[for_a][7] + '">#' + data[for_a][7] + '</a> | ';
+            data_html += data[for_a][6] + ' | ';
+            data_html += data[for_a][2];
+
+            data_html += '</div>';
+            data_html += '<div style="clear: both;"></div>';
+
+            data_html += '</div>';
+            data_html += '<hr class="main_hr">';
+        }
+
+        document.getElementById('opennamu_list_recent_discuss').innerHTML = data_html;
     });
 }