Kaynağa Gözat

Merge pull request #1770 from openNAMU/beta

fix bug
잉여개발기 (SPDV) 3 yıl önce
ebeveyn
işleme
ae1b024419
3 değiştirilmiş dosya ile 55 ekleme ve 26 silme
  1. 1 1
      app.py
  2. 53 24
      route/tool/func_render_namumark.py
  3. 1 1
      version.json

+ 1 - 1
app.py

@@ -637,7 +637,7 @@ app.route('/api/image/<everything:name>', methods = ['POST', 'GET'])(api_image_v
 app.route('/other')(main_tool_other)
 app.route('/manager', methods = ['POST', 'GET'])(main_tool_admin)
 app.route('/manager/<int:num>', methods = ['POST', 'GET'])(main_tool_redirect)
-app.route('/manager/<int:num>/<add_2>', methods = ['POST', 'GET'])(main_tool_redirect)
+app.route('/manager/<int:num>/<everything:add_2>', methods = ['POST', 'GET'])(main_tool_redirect)
 # app.route('/guide/<doc_name>')(main_tool_guide)
 
 app.route('/search', methods=['POST'])(main_search)

+ 53 - 24
route/tool/func_render_namumark.py

@@ -188,6 +188,34 @@ class class_do_render_namumark:
             else:
                 return data[1]
 
+    def get_tool_link_fix(self, link_main, do_type = 'link'):
+        if do_type == 'link':
+            if link_main == '../':
+                link_main = self.doc_name
+                link_main = re.sub(r'(\/[^/]+)$', '', link_main)
+            elif re.search(r'^\/', link_main):
+                link_main = re.sub(r'^\/', lambda x : (self.doc_name + '/'), link_main)
+            elif re.search(r'^:(분류|category):', link_main, flags = re.I):
+                link_main = re.sub(r'^:(분류|category):', 'category:', link_main, flags = re.I)
+            elif re.search(r'^:(파일|file):', link_main, flags = re.I):
+                link_main = re.sub(r'^:(파일|file):', 'file:', link_main, flags = re.I)
+            elif re.search(r'^사용자:', link_main, flags = re.I):
+                link_main = re.sub(r'^사용자:', 'user:', link_main, flags = re.I)
+        else:
+            # do_type == 'redirect'
+            if link_main == '../':
+                link_main = self.doc_name
+                link_main = re.sub(r'(\/[^/]+)$', '', link_main)
+            elif re.search(r'^\/', link_main):
+                link_main = re.sub(r'^\/', lambda x : (self.doc_name + '/'), link_main)
+            elif re.search(r'^분류:', link_main):
+                link_main = re.sub(r'^분류:', 'category:', link_main)
+            elif re.search(r'^사용자:', link_main):
+                link_main = re.sub(r'^사용자:', 'user:', link_main)
+
+        return link_main
+
+    # Render
     def do_render_text(self):
         # <b> function
         bold_user_set = get_main_skin_set(self.curs, self.flask_session, 'main_css_bold', self.ip)
@@ -583,6 +611,20 @@ class class_do_render_namumark:
                 return '<' + data_name + '></' + data_name + '>'
             elif name_data == 'pagecount':
                 return '0'
+            elif name_data == 'lastedit':
+                link_main = self.get_tool_link_fix(match[1], 'redirect')
+
+                link_main = self.get_tool_data_restore(link_main, do_type = 'slash')
+                link_main = html.unescape(link_main)
+
+                print(link_main)
+
+                self.curs.execute(db_change("select set_data from data_set where doc_name = ? and set_name = 'last_edit'"), [link_main])
+                db_data = self.curs.fetchall()
+                if db_data:
+                    return db_data[0][0]
+                else:
+                    return '0'
             else:
                 return '<macro>' + match[0] + '(' + match[1] + ')' + '</macro>'
 
@@ -690,6 +732,7 @@ class class_do_render_namumark:
                     file_align = ''
                     file_bgcolor = ''
                     file_turn = ''
+                    file_radius = ''
 
                     file_split_regex = r'(?:^|&amp;) *((?:(?!&amp;).)+)'
                     file_split_sub_regex = r'(^[^=]+) *= *([^=]+)'
@@ -713,6 +756,8 @@ class class_do_render_namumark:
                                         file_turn = 'dark'
                                     elif data_sub[1] == 'light':
                                         file_turn = 'light'
+                                elif data_sub[0] == 'border-radius':
+                                    file_radius = self.get_tool_px_add_check(data_sub[1])
 
                     link_main_org = ''
                     link_sub = link_main
@@ -770,12 +815,14 @@ class class_do_render_namumark:
                     if file_bgcolor != '':
                         file_bgcolor = 'background:' + self.get_tool_css_safe(file_bgcolor) + ';'
 
+                    if file_radius != '':
+                        file_radius = 'border-radius:' + self.get_tool_css_safe(file_radius) + ';'
 
                     image_set = get_main_skin_set(self.curs, self.flask_session, 'main_css_image_set', self.ip)
                     if image_set == 'new_click' or image_set == 'click':
-                        file_end = '<img style="' + file_width + file_height + file_align_style + file_bgcolor + '" id="opennamu_image_' + str(image_count) + '" alt="' + link_sub + '" src="">'
+                        file_end = '<img style="' + file_width + file_height + file_align_style + file_bgcolor + file_radius + '" id="opennamu_image_' + str(image_count) + '" alt="' + link_sub + '" src="">'
                     else:
-                        file_end = '<img style="' + file_width + file_height + file_align_style + file_bgcolor + '" alt="' + link_sub + '" src="' + link_main + '">'
+                        file_end = '<img style="' + file_width + file_height + file_align_style + file_bgcolor + file_radius + '" alt="' + link_sub + '" src="' + link_main + '">'
 
                     if file_align == 'center':
                         file_end = '<div style="text-align:center;">' + file_end + '</div>'
@@ -937,17 +984,7 @@ class class_do_render_namumark:
                 # in link
                 else:
                     # under page & fix url
-                    if link_main == '../':
-                        link_main = self.doc_name
-                        link_main = re.sub(r'(\/[^/]+)$', '', link_main)
-                    elif re.search(r'^\/', link_main):
-                        link_main = re.sub(r'^\/', lambda x : (self.doc_name + '/'), link_main)
-                    elif re.search(r'^:(분류|category):', link_main, flags = re.I):
-                        link_main = re.sub(r'^:(분류|category):', 'category:', link_main, flags = re.I)
-                    elif re.search(r'^:(파일|file):', link_main, flags = re.I):
-                        link_main = re.sub(r'^:(파일|file):', 'file:', link_main, flags = re.I)
-                    elif re.search(r'^사용자:', link_main, flags = re.I):
-                        link_main = re.sub(r'^사용자:', 'user:', link_main, flags = re.I)
+                    link_main = self.get_tool_link_fix(link_main)
 
                     # sharp
                     link_main = link_main.replace('&#x27;', '<link_single>')
@@ -1099,8 +1136,8 @@ class class_do_render_namumark:
                             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)
+                            data_sub_data = re.sub(r'^(?P<in>분류|category):', ':\g<in>:', data_sub_data)
+                            data_sub_data = re.sub(r'^(?P<in>파일|file):', ':\g<in>:', data_sub_data)
 
                             include_change_list[data_sub_name] = data_sub_data
                         else:
@@ -1250,15 +1287,7 @@ class class_do_render_namumark:
             link_main = match.group(1)
 
             # under page & fix url
-            if link_main == '../':
-                link_main = self.doc_name
-                link_main = re.sub(r'(\/[^/]+)$', '', link_main)
-            elif re.search(r'^\/', link_main):
-                link_main = re.sub(r'^\/', lambda x : (self.doc_name + '/'), link_main)
-            elif re.search(r'^분류:', link_main):
-                link_main = re.sub(r'^분류:', 'category:', link_main)
-            elif re.search(r'^사용자:', link_main):
-                link_main = re.sub(r'^사용자:', 'user:', link_main)
+            link_main = self.get_tool_link_fix(link_main, 'redirect')
 
             # sharp
             link_main = link_main.replace('&#x27;', '<link_single>')

+ 1 - 1
version.json

@@ -1,6 +1,6 @@
 {
     "beta" : {
-        "r_ver" : "v3.4.6-RC3-dev162",
+        "r_ver" : "v3.4.6-RC3-dev166",
         "c_ver" : "3500361",
         "s_ver" : "3500111"
     }