Quellcode durchsuchen

일부 렌더링 전통적인 방식으로 변경

잉여개발기 vor 1 Jahr
Ursprung
Commit
22ed9058f5
3 geänderte Dateien mit 37 neuen und 13 gelöschten Zeilen
  1. 8 5
      route/go_api_w_render.py
  2. 18 0
      route/tool/func.py
  3. 11 8
      route/view_w.py

+ 8 - 5
route/go_api_w_render.py

@@ -26,14 +26,17 @@ class api_w_render_include:
             else:
                 return slash_add + match[2]
 
-async def api_w_render(name = '', tool = ''):
+async def api_w_render(name = '', tool = '', request_method = '', request_data = {}):
     with get_db_connect() as conn:
         curs = conn.cursor()
 
-        if flask.request.method == 'POST':
-            name = flask.request.form.get('name', '')
-            data_org = flask.request.form.get('data', '')
-            data_option = flask.request.form.get('option', '')
+        flask_data = flask_data_or_variable(flask.request.form, request_data)
+        request_method = flask.request.method if request_method == '' else request_method
+
+        if request_method == 'POST':
+            name = flask_data.get('name', '')
+            data_org = flask_data.get('data', '')
+            data_option = flask_data.get('option', '')
 
             markup = ''
             if tool in ('', 'from', 'include'):

+ 18 - 0
route/tool/func.py

@@ -114,6 +114,24 @@ def do_db_set(db_set):
         for for_a in db_set:
             m_curs.execute('insert into temp (name, data) values (?, ?)', ['db_' + for_a, db_set[for_a]])
 
+class flask_data_or_variable:
+    def __init__(self, flask_data, var_dict):
+        if var_dict == {}:
+            self.data = flask_data
+            self.selected_flask = True
+        else:
+            self.data = var_dict
+            self.selected_flask = False
+
+    def get(self, dict_name, replace_data):
+        if self.selected_flask == True:
+            return self.data.get(dict_name, replace_data)
+        else:
+            if dict_name in self.data:
+                return self.data[dict_name]
+            else:
+                return replace_data
+
 def python_to_golang_sync(func_name, other_set = {}):
     with class_temp_db() as m_conn:
         m_curs = m_conn.cursor()

+ 11 - 8
route/view_w.py

@@ -1,6 +1,9 @@
 from .tool.func import *
 
-def view_w(name = 'Test', do_type = ''):
+from .go_api_w_raw import api_w_raw
+from .go_api_w_render import api_w_render
+
+async def view_w(name = 'Test', do_type = ''):
     with get_db_connect() as conn:
         curs = conn.cursor()
 
@@ -176,13 +179,13 @@ def view_w(name = 'Test', do_type = ''):
 
             name_view = name
 
-        end_data = '''
-            <div id="opennamu_preview_area"></div>
-            <textarea id="opennamu_editor_doc_name" style="display: none;">''' + html.escape(name) + '''</textarea>
-            <div id="opennamu_w_comment"></div>
-            <script defer src="/views/main_css/js/route/w.js''' + cache_v() + '''"></script>
-            <script>window.addEventListener("DOMContentLoaded", function() { opennamu_w("''' + ('from' if do_type == 'from' else '') + '''"); opennamu_w_page_view(); opennamu_w_comment(); });</script>
-        '''
+        doc_data = json.loads((await api_w_raw(name)).data)
+        render_data = json.loads((await api_w_render(name, request_method = 'POST', request_data = {
+            'name' : name,
+            'data' : doc_data["data"]
+        })).data)
+
+        end_data = render_data["data"] + '<script>document.addEventListener("DOMContentLoaded", function() {' + render_data["js_data"] + '});</script>'
 
         curs.execute(db_change("select data from data where title = ?"), [name])
         data = curs.fetchall()