Browse Source

댓글 갯수 API 완성

잉여개발기 2 năm trước cách đây
mục cha
commit
b27feb7ae6

+ 1 - 0
app.py

@@ -734,6 +734,7 @@ app.route('/api/v2/topic/<int:num>/<set_type>/<everything:name>', defaults = { '
 app.route('/api/v2/bbs', defaults = { 'db_set' : db_set_str })(api_bbs_list)
 app.route('/api/v2/bbs', defaults = { 'db_set' : db_set_str })(api_bbs_list)
 app.route('/api/v2/bbs/main', defaults = { 'db_set' : db_set_str })(api_bbs)
 app.route('/api/v2/bbs/main', defaults = { 'db_set' : db_set_str })(api_bbs)
 app.route('/api/v2/bbs/in/<int:bbs_num>/<int:page>', defaults = { 'db_set' : db_set_str })(api_bbs)
 app.route('/api/v2/bbs/in/<int:bbs_num>/<int:page>', defaults = { 'db_set' : db_set_str })(api_bbs)
+app.route('/api/v2/bbs/w/comment/<int:bbs_num>/<int:post_num>/<tool>', defaults = { 'db_set' : db_set_str })(api_bbs_w_comment_n)
 
 
 # Func-main
 # Func-main
 # 여기도 전반적인 조정 시행 예정
 # 여기도 전반적인 조정 시행 예정

+ 1 - 0
route/__init__.py

@@ -189,6 +189,7 @@ from route.go_api_list_old_page import api_list_old_page
 
 
 from route.go_api_bbs import api_bbs
 from route.go_api_bbs import api_bbs
 from route.go_api_bbs_list import api_bbs_list
 from route.go_api_bbs_list import api_bbs_list
+from route.go_api_bbs_w_comment import api_bbs_w_comment_n
 
 
 from route.go_api_topic import api_topic
 from route.go_api_topic import api_topic
 from route.go_api_topic_list import api_topic_list
 from route.go_api_topic_list import api_topic_list

+ 1 - 1
route/bbs_w_edit.py

@@ -148,5 +148,5 @@ def bbs_w_edit(bbs_num = '', post_num = '', comment_num = ''):
                         -->
                         -->
                     </form>
                     </form>
                 ''',
                 ''',
-                menu = [['bbs/w/' + bbs_num_str, get_lang(conn, 'return')]]
+                menu = [['bbs/in/' + bbs_num_str, get_lang(conn, 'return')]]
             ))
             ))

+ 2 - 2
route/bbs_w_post.py

@@ -165,7 +165,7 @@ def bbs_w_post(bbs_num = '', post_num = ''):
                 return easy_minify(conn, flask.render_template(skin_check(conn),
                 return easy_minify(conn, flask.render_template(skin_check(conn),
                     imp = [bbs_name, wiki_set(conn), wiki_custom(conn), wiki_css(['(' + get_lang(conn, 'bbs') + ')', 0])],
                     imp = [bbs_name, wiki_set(conn), wiki_custom(conn), wiki_css(['(' + get_lang(conn, 'bbs') + ')', 0])],
                     data = data,
                     data = data,
-                    menu = [['bbs/w/' + bbs_num_str, get_lang(conn, 'return')], ['bbs/edit/' + bbs_num_str + '/' + post_num_str, get_lang(conn, 'edit')], ['bbs/tool/' + bbs_num_str + '/' + post_num_str, get_lang(conn, 'tool')]]
+                    menu = [['bbs/in/' + bbs_num_str, get_lang(conn, 'return')], ['bbs/edit/' + bbs_num_str + '/' + post_num_str, get_lang(conn, 'edit')], ['bbs/tool/' + bbs_num_str + '/' + post_num_str, get_lang(conn, 'tool')]]
                 ))
                 ))
         else:
         else:
             # db_data_2[0][0] == 'comment'
             # db_data_2[0][0] == 'comment'
@@ -300,5 +300,5 @@ def bbs_w_post(bbs_num = '', post_num = ''):
                 return easy_minify(conn, flask.render_template(skin_check(conn),
                 return easy_minify(conn, flask.render_template(skin_check(conn),
                     imp = [bbs_name, wiki_set(conn), wiki_custom(conn), wiki_css(['(' + get_lang(conn, 'bbs') + ')', 0])],
                     imp = [bbs_name, wiki_set(conn), wiki_custom(conn), wiki_css(['(' + get_lang(conn, 'bbs') + ')', 0])],
                     data = data,
                     data = data,
-                    menu = [['bbs/w/' + bbs_num_str, get_lang(conn, 'return')], ['bbs/edit/' + bbs_num_str + '/' + post_num_str, get_lang(conn, 'edit')], ['bbs/tool/' + bbs_num_str + '/' + post_num_str, get_lang(conn, 'tool')]]
+                    menu = [['bbs/in/' + bbs_num_str, get_lang(conn, 'return')], ['bbs/edit/' + bbs_num_str + '/' + post_num_str, get_lang(conn, 'edit')], ['bbs/tool/' + bbs_num_str + '/' + post_num_str, get_lang(conn, 'tool')]]
                 ))
                 ))

+ 1 - 1
route/bbs_w_set.py

@@ -87,5 +87,5 @@ def bbs_w_set(bbs_num = ''):
                         <button id="opennamu_save_button" type="submit">''' + get_lang(conn, 'save') + '''</button>
                         <button id="opennamu_save_button" type="submit">''' + get_lang(conn, 'save') + '''</button>
                     </form>
                     </form>
                 '''),
                 '''),
-                menu = [['bbs/w/' + bbs_num_str, get_lang(conn, 'return')]] + other_menu
+                menu = [['bbs/in/' + bbs_num_str, get_lang(conn, 'return')]] + other_menu
             ))
             ))

+ 23 - 0
route/go_api_bbs_w_comment.py

@@ -0,0 +1,23 @@
+from .tool.func import *
+
+def api_bbs_w_comment_n(db_set, bbs_num = "", post_num = "", tool = "length"):
+    other_set = {}
+    other_set["bbs_num"] = str(bbs_num)
+    other_set["post_num"] = str(post_num)
+    other_set["tool"] = tool
+    other_set = json.dumps(other_set)
+
+    if platform.system() == 'Linux':
+        if platform.machine() in ["AMD64", "x86_64"]:
+            data = subprocess.Popen([os.path.join(".", "route_go", "bin", "main.amd64.bin"), sys._getframe().f_code.co_name, db_set, other_set], stdout = subprocess.PIPE).communicate()[0]
+        else:
+            data = subprocess.Popen([os.path.join(".", "route_go", "bin", "main.arm64.bin"), sys._getframe().f_code.co_name, db_set, other_set], stdout = subprocess.PIPE).communicate()[0]
+    else:
+        if platform.machine() in ["AMD64", "x86_64"]:
+            data = subprocess.Popen([os.path.join(".", "route_go", "bin", "main.amd64.exe"), sys._getframe().f_code.co_name, db_set, other_set], stdout = subprocess.PIPE).communicate()[0]
+        else:
+            data = subprocess.Popen([os.path.join(".", "route_go", "bin", "main.arm64.exe"), sys._getframe().f_code.co_name, db_set, other_set], stdout = subprocess.PIPE).communicate()[0]
+
+    data = data.decode('utf8')
+
+    return flask.Response(response = data, status = 200, mimetype = 'application/json')

+ 1 - 1
route/tool/func.py

@@ -1069,7 +1069,7 @@ def skin_check(conn, set_n = 0):
         return skin
         return skin
     
     
 def cache_v():
 def cache_v():
-    return '.cache_v240'
+    return '.cache_v241'
 
 
 def wiki_css(data):
 def wiki_css(data):
     global global_wiki_set
     global global_wiki_set

BIN
route_go/bin/main.amd64.exe


+ 2 - 0
route_go/main.go

@@ -55,6 +55,8 @@ func main() {
 		route_data = route.Api_list_old_page(call_arg[1:])
 		route_data = route.Api_list_old_page(call_arg[1:])
 	} else if call_arg[0] == "api_topic_list" {
 	} else if call_arg[0] == "api_topic_list" {
 		route_data = route.Api_topic_list(call_arg[1:])
 		route_data = route.Api_topic_list(call_arg[1:])
+	} else if call_arg[0] == "api_bbs_w_comment_n" {
+		route_data = route.Api_bbs_w_comment(call_arg[1:])
 	} else {
 	} else {
 		log.Fatal("404")
 		log.Fatal("404")
 	}
 	}

+ 0 - 34
route_go/route/api_bbs_comment.go

@@ -1,34 +0,0 @@
-package route
-
-import (
-	"encoding/json"
-	"log"
-	"opennamu/route/tool"
-)
-
-func Api_bbs_comment(call_arg []string) string {
-	db_set := map[string]string{}
-	json.Unmarshal([]byte(call_arg[0]), &db_set)
-
-	other_set := map[string]string{}
-	json.Unmarshal([]byte(call_arg[1]), &other_set)
-
-	db := tool.DB_connect(db_set)
-	defer db.Close()
-
-	if other_set["tool"] == "length" {
-		stmt, err := db.Prepare(tool.DB_change(db_set, "select set_name, set_data, set_code, set_id from bbs_data where (set_name = 'comment' or set_name = 'comment_date' or set_name = 'comment_user_id') and set_id = ? order by set_code + 0 asc"))
-		if err != nil {
-			log.Fatal(err)
-		}
-		defer stmt.Close()
-
-		rows, err := stmt.Query(other_set["bbs_num"])
-		if err != nil {
-			log.Fatal(err)
-		}
-
-	} else {
-		return ""
-	}
-}

+ 48 - 0
route_go/route/api_bbs_w_comment.go

@@ -0,0 +1,48 @@
+package route
+
+import (
+	"database/sql"
+	"encoding/json"
+	"log"
+	"opennamu/route/tool"
+)
+
+func Api_bbs_w_comment(call_arg []string) string {
+	db_set := map[string]string{}
+	json.Unmarshal([]byte(call_arg[0]), &db_set)
+
+	other_set := map[string]string{}
+	json.Unmarshal([]byte(call_arg[1]), &other_set)
+
+	db := tool.DB_connect(db_set)
+	defer db.Close()
+
+	if other_set["tool"] == "length" {
+		stmt, err := db.Prepare(tool.DB_change(db_set, "select count(*) from bbs_data where set_name = 'comment_date' and (set_id = ? or set_id like ?) order by set_code + 0 desc"))
+		if err != nil {
+			log.Fatal(err)
+		}
+		defer stmt.Close()
+
+		var comment_length string
+		bbs_and_post_num := other_set["bbs_num"] + "-" + other_set["post_num"]
+
+		err = stmt.QueryRow(bbs_and_post_num, bbs_and_post_num + "-%").Scan(&comment_length)
+		if err != nil {
+			if err == sql.ErrNoRows {
+				comment_length = "0"
+			} else {
+				log.Fatal(err)
+			}
+		}
+
+		data_list := map[string]string{
+			"data": comment_length,
+		}
+
+		json_data, _ := json.Marshal(data_list)
+		return string(json_data)
+	} else {
+		return ""
+	}
+}

+ 1 - 1
version.json

@@ -1,6 +1,6 @@
 {
 {
     "beta" : {
     "beta" : {
-        "r_ver" : "v3.5.0-dev89",
+        "r_ver" : "v3.5.0-dev90",
         "c_ver" : "3500379",
         "c_ver" : "3500379",
         "s_ver" : "3500113"
         "s_ver" : "3500113"
     }
     }

+ 12 - 1
views/main_css/js/route/bbs_in.js

@@ -26,9 +26,10 @@ function opennamu_bbs_in() {
 
 
             data_html += '<div style="float: right;">';
             data_html += '<div style="float: right;">';
 
 
+            data_html += '<span id="opennamu_bbs_comment_' + String(for_a) + '"></span>';
+
             data_html += data[for_a]['user_id_render'] + ' | ';
             data_html += data[for_a]['user_id_render'] + ' | ';
 
 
-            console.log(data);
             if(data[for_a]['pinned'] === '1') {
             if(data[for_a]['pinned'] === '1') {
                 data_html += '<span style="color: red;">' + data[for_a]['date'] + '</span>';
                 data_html += '<span style="color: red;">' + data[for_a]['date'] + '</span>';
             } else {
             } else {
@@ -45,5 +46,15 @@ function opennamu_bbs_in() {
         data_html += opennamu_page_control('/bbs/in/' + bbs_num + '/{}', Number(page), data.length);
         data_html += opennamu_page_control('/bbs/in/' + bbs_num + '/{}', Number(page), data.length);
         
         
         document.getElementById('opennamu_bbs_in').innerHTML = data_html;
         document.getElementById('opennamu_bbs_in').innerHTML = data_html;
+
+        for(let for_a = 0; for_a < data.length; for_a++) {
+            fetch('/api/v2/bbs/w/comment/' + data[for_a]['set_id'] + '/' + data[for_a]['set_code'] + '/length').then(function(res) {
+                return res.json();
+            }).then(function(comment_data) {
+                if(comment_data) {
+                    document.getElementById('opennamu_bbs_comment_' + String(for_a)).innerText = comment_data['data'] + ' | ';
+                }
+            });
+        }
     });
     });
 }
 }

+ 12 - 0
views/main_css/js/route/bbs_main.js

@@ -47,6 +47,8 @@ function opennamu_bbs_main() {
 
 
                 data_html += '<div style="float: right;">';
                 data_html += '<div style="float: right;">';
 
 
+                data_html += '<span id="opennamu_bbs_comment_' + String(for_a) + '"></span>';
+
                 data_html += '<a href="/bbs/in/' + data[for_a]['set_id'] + '">';
                 data_html += '<a href="/bbs/in/' + data[for_a]['set_id'] + '">';
                 data_html += bbs_id_to_name[data[for_a]['set_id']]
                 data_html += bbs_id_to_name[data[for_a]['set_id']]
                 data_html += '</a>';
                 data_html += '</a>';
@@ -63,6 +65,16 @@ function opennamu_bbs_main() {
             }
             }
             
             
             document.getElementById('opennamu_bbs_main').innerHTML = data_html;
             document.getElementById('opennamu_bbs_main').innerHTML = data_html;
+
+            for(let for_a = 0; for_a < data.length; for_a++) {
+                fetch('/api/v2/bbs/w/comment/' + data[for_a]['set_id'] + '/' + data[for_a]['set_code'] + '/length').then(function(res) {
+                    return res.json();
+                }).then(function(comment_data) {
+                    if(comment_data) {
+                        document.getElementById('opennamu_bbs_comment_' + String(for_a)).innerText = comment_data['data'] + ' | ';
+                    }
+                });
+            }
         });
         });
     });
     });
 }
 }