소스 검색

버그 수정

https://github.com/openNAMU/openNAMU/issues/2564
잉여개발기 9 달 전
부모
커밋
0470d2de30
4개의 변경된 파일20개의 추가작업 그리고 7개의 파일을 삭제
  1. 2 0
      app.py
  2. 2 1
      route/list_history.py
  3. 15 5
      route/view_w.py
  4. 1 1
      version.json

+ 2 - 0
app.py

@@ -658,6 +658,8 @@ app.route('/down/<everything:name>')(view_down)
 app.route('/acl_multiple', defaults = { 'multiple' : True }, methods = ['POST', 'GET'])(view_set)
 app.route('/acl/<everything:name>', methods = ['POST', 'GET'])(view_set)
 
+app.route('/render/<int:doc_rev>/<everything:name>')(view_w)
+
 app.route('/w_from/<everything:name>', defaults = { 'do_type' : 'from' })(view_w)
 app.route('/w/<everything:name>')(view_w)
 

+ 2 - 1
route/list_history.py

@@ -110,7 +110,8 @@ async def list_history(tool = 'history', num = 1, set_type = 'normal', doc_name
 
                 right += f'<span style="display: none;" id="opennamu_history_tool_{for_a}">'
 
-                right += f'<a href="/raw_rev/{data[for_a][0]}/{doc_name}">{lang["raw"]}</a>'
+                right += f'<a href="/render/{data[for_a][0]}/{doc_name}">{lang["view"]}</a>'
+                right += f' | <a href="/raw_rev/{data[for_a][0]}/{doc_name}">{lang["raw"]}</a>'
                 right += f' | <a href="/revert/{data[for_a][0]}/{doc_name}">{lang["revert"]} (r{data[for_a][0]})</a>'
 
                 if int(data[for_a][0]) > 1:

+ 15 - 5
route/view_w.py

@@ -4,7 +4,7 @@ from .go_api_w_raw import api_w_raw
 from .go_api_w_render import api_w_render
 from .go_api_w_page_view import api_w_page_view
 
-async def view_w(name = 'Test', do_type = ''):
+async def view_w(name = 'Test', do_type = '', doc_rev = ''):
     with get_db_connect() as conn:
         curs = conn.cursor()
 
@@ -180,7 +180,11 @@ async def view_w(name = 'Test', do_type = ''):
 
             name_view = name
 
-        doc_data = await api_w_raw(name)
+        if doc_rev == '':
+            doc_data = await api_w_raw(name)
+        else:
+            doc_data = await api_w_raw(name, str(doc_rev))
+
         if doc_data["response"] == "ok":
             render_data = await api_w_render(name, request_method = 'POST', request_data = {
                 'name' : name,
@@ -190,9 +194,12 @@ async def view_w(name = 'Test', do_type = ''):
         else:
             end_data = ''
 
-        asyncio.create_task(api_w_page_view(name))
-
-        curs.execute(db_change("select data from data where title = ?"), [name])
+        if doc_rev == '':
+            asyncio.create_task(api_w_page_view(name))
+            curs.execute(db_change("select data from data where title = ?"), [name])
+        else:
+            curs.execute(db_change("select data from history where title = ? and id = ?"), [name, doc_rev])
+            
         data = curs.fetchall()
 
         description = ''
@@ -354,6 +361,9 @@ async def view_w(name = 'Test', do_type = ''):
 
         menu += [['doc_watch_list/1/' + url_pas(name), await get_lang('watchlist')]]
 
+        if doc_rev != '':
+            sub = '(' + str(doc_rev) + ')'
+
         return easy_minify(flask.render_template(await skin_check(),
             imp = [name_view, await wiki_set(), await wiki_custom(), wiki_css([sub, r_date, watch_list, description, view_count])],
             data = div,

+ 1 - 1
version.json

@@ -1,5 +1,5 @@
 {
-    "r_ver" : "v3.6.0-v26",
+    "r_ver" : "v3.6.0-v27",
     "c_ver" : "20250509",
     "s_ver" : "20240426",
     "bin_link" : "https://github.com/openNAMU/GopenNAMU/releases/download/v2025-05-09-v1/"