Selaa lähdekoodia

fix include bug & title list bug

잉여개발기 (SPDV) 3 vuotta sitten
vanhempi
sitoutus
54d04451d4
3 muutettua tiedostoa jossa 62 lisäystä ja 64 poistoa
  1. 2 5
      route/list_title_index.py
  2. 59 58
      route/tool/func_render_namumark.py
  3. 1 1
      version.json

+ 2 - 5
route/list_title_index.py

@@ -30,14 +30,14 @@ def list_title_index_2():
             curs.execute(db_change('select data from other where name = "count_all_title"'))
             all_title = curs.fetchall()
             if int(all_title[0][0]) < 30000:
-                count_end += [all_title[0][0]]
+                count_end += [int(all_title[0][0])]
 
                 sql_list = ['category:', 'user:', 'file:']
                 for sql in sql_list:
                     curs.execute(db_change("select count(*) from data where title like ?"), [sql + '%'])
                     count = curs.fetchall()
                     if count:
-                        count_end += [count[0][0]]
+                        count_end += [int(count[0][0])]
                     else:
                         count_end += [0]
 
@@ -45,11 +45,9 @@ def list_title_index_2():
 
                 data += '''
                     </ul>
-                    <hr class="main_hr">
                     <ul class="opennamu_ul">
                         <li>''' + load_lang('all') + ' : ' + str(count_end[0]) + '''</li>
                     </ul>
-                    <hr class="main_hr">
                     <ul class="opennamu_ul">
                         <li>''' + load_lang('category') + ' : ' + str(count_end[1]) + '''</li>
                         <li>''' + load_lang('user_document') + ' : ' + str(count_end[2]) + '''</li>
@@ -59,7 +57,6 @@ def list_title_index_2():
             else:
                 data += '''
                     </ul>
-                    <hr class="main_hr">
                     <ul class="opennamu_ul">
                         <li>''' + load_lang('all') + ' : ' + all_title[0][0] + '''</li>
                 '''

+ 59 - 58
route/tool/func_render_namumark.py

@@ -1065,76 +1065,78 @@ class class_do_render_namumark:
             elif not match:
                 break
             else:
-                match_org = match.group(0)
-                match = match.groups()
+                if self.doc_include != '':
+                    self.render_data = re.sub(include_regex, '', self.render_data, 1)
+                else:
+                    match_org = match.group(0)
+                    match = match.groups()
 
-                macro_split_regex = r'(?:^|,) *([^,]+)'
-                macro_split_sub_regex = r'^([^=]+) *= *(.*)$'
+                    macro_split_regex = r'(?:^|,) *([^,]+)'
+                    macro_split_sub_regex = r'^([^=]+) *= *(.*)$'
 
-                include_name = ''
+                    include_name = ''
 
-                data = re.findall(macro_split_regex, match[0])
-                for for_a in data:
-                    data_sub = re.search(macro_split_sub_regex, for_a)
-                    if data_sub:
-                        data_sub = data_sub.groups()
-                        
-                        data_sub_name = data_sub[0]
-                        data_sub_data = self.get_tool_data_restore(data_sub[1], do_type = 'slash')
-                        
-                        data_sub_data = re.sub(r'^분류:', ':분류:', data_sub_data)
-                        data_sub_data = re.sub(r'^파일:', ':파일:', data_sub_data)
-
-                        include_change_list[data_sub_name] = data_sub_data
-                    else:
-                        include_name = for_a
+                    data = re.findall(macro_split_regex, match[0])
+                    for for_a in data:
+                        data_sub = re.search(macro_split_sub_regex, for_a)
+                        if data_sub:
+                            data_sub = data_sub.groups()
+                            
+                            data_sub_name = data_sub[0]
+                            data_sub_data = self.get_tool_data_restore(data_sub[1], do_type = 'slash')
+                            
+                            data_sub_data = re.sub(r'^분류:', ':분류:', data_sub_data)
+                            data_sub_data = re.sub(r'^파일:', ':파일:', data_sub_data)
 
-                include_name_org = include_name
-                
-                include_name = self.get_tool_data_restore(include_name, do_type = 'slash')
-                include_name = html.unescape(include_name)
+                            include_change_list[data_sub_name] = data_sub_data
+                        else:
+                            include_name = for_a
 
-                # load include db data
-                self.curs.execute(db_change("select data from data where title = ?"), [include_name])
-                db_data = self.curs.fetchall()
-                if db_data:
-                    self.data_backlink += [[self.doc_name, include_name, 'include']]
-                    include_data = db_data[0][0].replace('\r', '')
+                    include_name_org = include_name
+                    
+                    include_name = self.get_tool_data_restore(include_name, do_type = 'slash')
+                    include_name = html.unescape(include_name)
 
-                    # include link func
-                    if ip_or_user(self.ip) == 0:
-                        self.curs.execute(db_change('select data from user_set where name = "main_css_include_link" and id = ?'), [self.ip])
-                        db_data = self.curs.fetchall()
-                        include_set_data = db_data[0][0] if db_data else 'normal'
-                    else:
-                        include_set_data = flask.session['main_css_include_link'] if 'main_css_include_link' in flask.session else 'normal'
+                    # load include db data
+                    self.curs.execute(db_change("select data from data where title = ?"), [include_name])
+                    db_data = self.curs.fetchall()
+                    if db_data:
+                        self.data_backlink += [[self.doc_name, include_name, 'include']]
+                        include_data = db_data[0][0].replace('\r', '')
+
+                        # include link func
+                        if ip_or_user(self.ip) == 0:
+                            self.curs.execute(db_change('select data from user_set where name = "main_css_include_link" and id = ?'), [self.ip])
+                            db_data = self.curs.fetchall()
+                            include_set_data = db_data[0][0] if db_data else 'normal'
+                        else:
+                            include_set_data = flask.session['main_css_include_link'] if 'main_css_include_link' in flask.session else 'normal'
 
-                    include_link = ''
-                    if include_set_data == 'use':
-                        include_link = '<div><a href="/w/' + url_pas(include_name) + '">(' + include_name_org + ')</a></div>'
+                        include_link = ''
+                        if include_set_data == 'use':
+                            include_link = '<div><a href="/w/' + url_pas(include_name) + '">(' + include_name_org + ')</a></div>'
 
-                    # parameter replace
-                    include_data = re.sub(r'(\\+)?@([ㄱ-힣a-zA-Z]+)=((?:\\@|[^@\n])+)@', do_render_include_default_sub, include_data)
-                    include_data = re.sub(r'(\\+)?@([ㄱ-힣a-zA-Z]+)@', do_render_include_default_sub, include_data)
+                        # parameter replace
+                        include_data = re.sub(r'(\\+)?@([ㄱ-힣a-zA-Z]+)=((?:\\@|[^@\n])+)@', do_render_include_default_sub, include_data)
+                        include_data = re.sub(r'(\\+)?@([ㄱ-힣a-zA-Z]+)@', do_render_include_default_sub, include_data)
 
-                    # remove include
-                    include_data = re.sub(include_regex, '', include_data)
-                    include_data = re.sub('^\n+', '', include_data)
+                        # remove end br
+                        include_data = re.sub('^\n+', '', include_data)
 
-                    self.data_include += [[self.doc_include + 'opennamu_include_' + str(include_num), include_name, include_data, 'style="display: inline;"']]
+                        self.data_include += [[self.doc_include + 'opennamu_include_' + str(include_num), include_name, include_data, 'style="display: inline;"']]
 
-                    data_name = self.get_tool_data_storage('' + \
-                        include_link + \
-                        '<div id="' + self.doc_include + 'opennamu_include_' + str(include_num) + '"></div>' + \
-                    '', '', match_org)
-                else:
-                    self.data_backlink += [[self.doc_name, include_name, 'no']]
+                        data_name = self.get_tool_data_storage('' + \
+                            include_link + \
+                            '<div id="' + self.doc_include + 'opennamu_include_' + str(include_num) + '"></div>' + \
+                        '', '', match_org)
+                    else:
+                        self.data_backlink += [[self.doc_name, include_name, 'no']]
 
-                    include_link = '<div><a class="opennamu_not_exist_link" href="/w/' + url_pas(include_name) + '">(' + include_name_org + ')</a></div>'
+                        include_link = '<div><a class="opennamu_not_exist_link" href="/w/' + url_pas(include_name) + '">(' + include_name_org + ')</a></div>'
 
-                    data_name = self.get_tool_data_storage(include_link, '', match_org)
+                        data_name = self.get_tool_data_storage(include_link, '', match_org)
 
-                self.render_data = re.sub(include_regex, '<' + data_name + '></' + data_name + '>', self.render_data, 1)
+                    self.render_data = re.sub(include_regex, '<' + data_name + '></' + data_name + '>', self.render_data, 1)
 
             include_count_max -= 1
 
@@ -1887,8 +1889,8 @@ class class_do_render_namumark:
         self.do_render_slash()
         self.do_render_redirect()
         if self.data_redirect == 0:
-            self.do_render_include()
             self.do_render_middle()
+            self.do_render_include()
             self.do_render_math()
             self.do_render_table()
             self.do_render_list()
@@ -1902,7 +1904,6 @@ class class_do_render_namumark:
         self.do_render_last()
 
         # print(self.data_temp_storage)
-        # print(self.render_data)
 
         return [
             self.render_data, # html

+ 1 - 1
version.json

@@ -1,6 +1,6 @@
 {
     "beta" : {
-        "r_ver" : "v3.4.6-RC2-dev127",
+        "r_ver" : "v3.4.6-RC2-dev128",
         "c_ver" : "3500358",
         "s_ver" : "3500111"
     }