Parcourir la source

문단 넘겨주기 지원

Surplus_Up (2DU) il y a 6 ans
Parent
commit
0401975c11
3 fichiers modifiés avec 27 ajouts et 25 suppressions
  1. 4 22
      route/tool/set_mark/namu.py
  2. 18 0
      route/tool/set_mark/tool.py
  3. 5 3
      route/view_read.py

+ 4 - 22
route/tool/set_mark/namu.py

@@ -349,24 +349,6 @@ def middle_parser(data, fol_num, syntax_num, folding_num):
             break
 
     return [data, [fol_num, syntax_num, folding_num]]
-    
-def link_fix(main_link):
-    if re.search('^:', main_link):
-        main_link = re.sub('^:', '', main_link)
-
-    main_link = re.sub('^사용자:', 'user:', main_link)
-    main_link = re.sub('^파일:', 'file:', main_link)
-    main_link = re.sub('^분류:', 'category:', main_link)
-
-    other_link = re.search('(#.+)$', main_link)
-    if other_link:
-        other_link = other_link.groups()[0]
-
-        main_link = re.sub('(#.+)$', '', main_link)
-    else:
-        other_link = ''
-        
-    return [main_link, other_link]
 
 def namu(conn, data, title, main_num):
     curs = conn.cursor()
@@ -525,13 +507,13 @@ def namu(conn, data, title, main_num):
     if redirect:
         redirect = redirect.groups()[0]
         
-        return_link = link_fix(redirect)
+        return_link = tool.link_fix(redirect)
         main_link = return_link[0]
         other_link = return_link[1]
         
-        backlink += [[title, main_link, 'redirect']]
+        backlink += [[title, main_link + other_link, 'redirect']]
         
-        data = redirect_re.sub('\n * ' + title + ' - [[' + main_link + ']]\n', data, 1)
+        data = redirect_re.sub('\n * ' + title + ' - [[' + main_link + other_link + ']]\n', data, 1)
 
     no_toc_re = re.compile('\[(?:목차|toc)\((?:no)\)\]\n', re.I)
     toc_re = re.compile('\[(?:목차|toc)\]', re.I)
@@ -860,7 +842,7 @@ def namu(conn, data, title, main_num):
             elif re.search('^http(s)?:\/\/', main_link):
                 data = re.sub('\[\[((?:(?!\[\[|\]\]).)+)\]\]', '<a id="out_link" rel="nofollow" href="' + main_link + '">' + see_link + '</a>', data, 1)
             else:
-                return_link = link_fix(main_link)
+                return_link = tool.link_fix(main_link)
                 main_link = return_link[0]
                 other_link = return_link[1]
 

+ 18 - 0
route/tool/set_mark/tool.py

@@ -29,6 +29,24 @@ def ip_check(d_type = 0):
             ip = '-'
             
     return str(ip)
+    
+def link_fix(main_link):
+    if re.search('^:', main_link):
+        main_link = re.sub('^:', '', main_link)
+
+    main_link = re.sub('^사용자:', 'user:', main_link)
+    main_link = re.sub('^파일:', 'file:', main_link)
+    main_link = re.sub('^분류:', 'category:', main_link)
+
+    other_link = re.search('(#.+)$', main_link)
+    if other_link:
+        other_link = other_link.groups()[0]
+
+        main_link = re.sub('(#.+)$', '', main_link)
+    else:
+        other_link = ''
+        
+    return [main_link, other_link]
 
 def savemark(data):
     data = re.sub("\[date\(now\)\]", get_time(), data)

+ 5 - 3
route/view_read.py

@@ -13,9 +13,11 @@ def view_read_2(conn, name):
     else:
         if not flask.request.args.get('from', None):
             curs.execute("select title from back where link = ? and type = 'redirect'", [name])
-            redirect_data = curs.fetchall()
-            if redirect_data:
-                return redirect('/w/' + redirect_data[0][0] + '?from=' + name)
+            r_db = curs.fetchall()
+            if r_db:
+                r_data = link_fix(r_db[0][0])
+            
+                return redirect('/w/' + r_data[0] + '?from=' + name + r_data[1])
 
     curs.execute("select sub from rd where title = ? and not stop = 'O' order by date desc", [name])
     if curs.fetchall():