Преглед изворни кода

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

잉여개발기 (SPDV) пре 2 година
родитељ
комит
ee6e980d48
5 измењених фајлова са 59 додато и 13 уклоњено
  1. 2 0
      app.py
  2. 50 7
      route/list_image_file.py
  3. 3 3
      route/tool/func.py
  4. 3 2
      route/tool/func_render.py
  5. 1 1
      version.json

+ 2 - 0
app.py

@@ -347,6 +347,8 @@ app.route('/list/document/short/<int:arg_num>', defaults = { 'tool' : 'short_pag
 
 app.route('/list/file')(list_image_file)
 app.route('/list/file/<int:arg_num>')(list_image_file)
+app.route('/list/image', defaults = { 'do_type' : 1 })(list_image_file)
+app.route('/list/image/int:arg_num', defaults = { 'do_type' : 1 })(list_image_file)
 
 app.route('/list/admin')(list_admin)
 

+ 50 - 7
route/list_image_file.py

@@ -1,19 +1,62 @@
 from .tool.func import *
 
-def list_image_file(arg_num = 1):
+def list_image_file(arg_num = 1, do_type = 0):
     with get_db_connect() as conn:
         curs = conn.cursor()
 
         sql_num = (arg_num * 50 - 50) if arg_num * 50 > 0 else 0
 
-        list_data = '<ul class="opennamu_ul">'
+        list_data = ''
+        if do_type == 0:
+            list_data += '<a href="/list/image">(' + load_lang('image') + ')</a>'
+        else:
+            list_data += '<a href="/list/file">(' + load_lang('normal') + ')</a>'
+        
+        list_data += '<hr class="main_hr">'
 
-        curs.execute(db_change("select title from data where title like 'file:%' limit ?, 50"), [sql_num])
-        data_list = curs.fetchall()
-        for data in data_list:
-            list_data += '<li><a href="/w/' + url_pas(data[0]) + '">' + html.escape(data[0]) + '</a></li>'
+        if do_type == 1:
+            render_data = ''
+            sub_data = ''
+            count = 0
 
-        list_data += next_fix('/list/file/', arg_num, data_list)
+            curs.execute(db_change("select title from data where title like 'file:%' limit ?, 50"), [sql_num])
+            data_list = curs.fetchall()
+            for data in data_list:
+                if count != 0 and count % 4 == 0:
+                    render_data += '||\n'
+                    render_data += sub_data + '||\n'
+                    
+                    sub_data = ''
+
+                render_data += '|| [[' + data[0] + ']] '
+                sub_data += '|| [[:' + data[0] + ']] '
+                count += 1
+
+            if render_data != '':
+                render_data += '||\n'
+                render_data += sub_data + '||'
+
+            end_data = render_set(
+                doc_name = '',
+                doc_data = render_data,
+                data_type = 'view',
+                markup = 'namumark'
+            )
+            list_data += end_data
+        else:
+            list_data += '<ul class="opennamu_ul">'
+
+            curs.execute(db_change("select title from data where title like 'file:%' limit ?, 50"), [sql_num])
+            data_list = curs.fetchall()
+            for data in data_list:
+                list_data += '<li><a href="/w/' + url_pas(data[0]) + '">' + html.escape(data[0]) + '</a></li>'
+
+            list_data += '</ul>'
+
+        if do_type == 0:
+            list_data += next_fix('/list/file/', arg_num, data_list)
+        else:
+            list_data += next_fix('/list/image/', arg_num, data_list)
 
         return easy_minify(flask.render_template(skin_check(),
             imp = [load_lang('image_file_list'), wiki_set(), wiki_custom(), wiki_css([0, 0])],

+ 3 - 3
route/tool/func.py

@@ -1283,7 +1283,7 @@ def load_skin(data = '', set_n = 0, default = 0):
     return skin_return_data
 
 # Func-markup
-def render_set(doc_name = '', doc_data = '', data_type = 'view', data_in = '', doc_acl = ''):
+def render_set(doc_name = '', doc_data = '', data_type = 'view', data_in = '', doc_acl = '', markup = ''):
     with get_db_connect() as conn:
         curs = conn.cursor()
 
@@ -1319,7 +1319,7 @@ def render_set(doc_name = '', doc_data = '', data_type = 'view', data_in = '', d
                 if db_data and db_data[0][0] != '':
                     render_lang_data['category'] = db_data[0][0]
 
-                get_class_render = class_do_render(conn, render_lang_data).do_render(doc_name, doc_data, data_type, data_in)
+                get_class_render = class_do_render(conn, render_lang_data, markup).do_render(doc_name, doc_data, data_type, data_in)
                 
                 if 'include' in get_class_render[2]:
                     for_a = 0
@@ -1334,7 +1334,7 @@ def render_set(doc_name = '', doc_data = '', data_type = 'view', data_in = '', d
                         if acl_result == 0:
                             include_regex = re.compile('<div id="' + include_data[0] + '"><\\/div>')
                             if re.search(include_regex, get_class_render[0]):
-                                include_data_render = class_do_render(conn, render_lang_data).do_render(include_data[1], include_data[2], data_type, include_data[0] + data_in)
+                                include_data_render = class_do_render(conn, render_lang_data, markup).do_render(include_data[1], include_data[2], data_type, include_data[0] + data_in)
                                 if len(include_data) > 3:
                                     include_data_render[0] = '<div id="' + include_data[0] + '" ' + include_data[3] + '>' + include_data_render[0] + '</div>'
                                 else:

+ 3 - 2
route/tool/func_render.py

@@ -5,7 +5,7 @@ from .func_render_namumark import class_do_render_namumark
 # 커스텀 마크 언젠간 다시 추가 예정
 
 class class_do_render:
-    def __init__(self, conn, lang_data = {}):
+    def __init__(self, conn, lang_data = {}, markup = ''):
         self.conn = conn
 
         if lang_data == '{}':
@@ -15,6 +15,7 @@ class class_do_render:
             }
 
         self.lang_data = lang_data
+        self.markup = markup
 
     def do_render(self, doc_name, doc_data, data_type, data_in):
         curs = self.conn.cursor()
@@ -26,7 +27,7 @@ class class_do_render:
         
         data_in = (data_in + '_') if data_in != '' else ''
         doc_set['doc_include'] = data_in
-        rep_data = ''
+        rep_data = self.markup
 
         if rep_data == '' and doc_name != '':
             curs.execute(db_change("select set_data from data_set where doc_name = ? and set_name = 'document_markup'"), [doc_name])

+ 1 - 1
version.json

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