Răsfoiți Sursa

Merge pull request #1898 from openNAMU/beta

RC4.1
잉여개발기 (SPDV) 2 ani în urmă
părinte
comite
5b506a4bf9
7 a modificat fișierele cu 48 adăugiri și 11 ștergeri
  1. 24 1
      emergency_tool.py
  2. 2 0
      lang/en-US.json
  3. 3 1
      lang/ko-KR.json
  4. 2 1
      route/bbs_w_edit.py
  5. 12 3
      route/tool/func.py
  6. 4 4
      route/view_read.py
  7. 1 1
      version.json

+ 24 - 1
emergency_tool.py

@@ -52,6 +52,7 @@ print('20. Change domain')
 print('21. Change TLS')
 print('22. Delete body top')
 print('23. Delete body bottom')
+print('24. SQLite to MySQL')
 
 print('----')
 what_i_do = input('Select : ')
@@ -256,11 +257,33 @@ elif what_i_do == '22':
     curs.execute(db_change('delete from other where name = "body"'))
 elif what_i_do == '23':
     curs.execute(db_change('delete from other where name = "bottom_body"'))
+elif what_i_do == '24':
+    load_db = get_db_connect('mysql')
+    mysql_conn = load_db.__enter__()
+    mysql_curs = mysql_conn.cursor()
+    
+    load_db = get_db_connect('sqlite')
+    sqlite_conn = load_db.__enter__()
+    sqlite_curs = sqlite_conn.cursor()
+
+    create_data = get_db_table_list()
+    for create_table in create_data:
+        create = ['test'] + create_data[create_table]
+        create_r = ', '.join(['?' for _ in create])
+        create = ', '.join(create)
+        
+        print('select ' + create + ' from ' + create_table)
+        sqlite_curs.execute(db_change('select ' + create + ' from ' + create_table))
+        db_data = sqlite_curs.fetchall()
+        mysql_curs.executemany(db_change("insert into " + create_table + " (" + create + ") values (" + create_r + ")"), db_data)
 else:
     raise ValueError(what_i_do)
 
 if data_db_load == 'Y':
-    conn.commit()
+    try:
+        conn.commit()
+    except:
+        pass
 
 print('----')
 print('OK')

+ 2 - 0
lang/en-US.json

@@ -1,6 +1,8 @@
 {
     "language_tag": "en-US",
     "_comment_1_" : "Common",
+        "data" : "Data",
+        "volume" : "Volume",
         "server" : "Server",
         "filter" : "Filter",
         "delete" : "Delete",

+ 3 - 1
lang/ko-KR.json

@@ -567,5 +567,7 @@
     "bbs_post_tool": "BBS 게시글 도구",
     "position": "위치",
     "category_change_title": "분류 내 문서명 변경 금지",
-    "table_scroll": "표에 스크롤 사용"
+    "table_scroll": "표에 스크롤 사용",
+    "data": "데이터",
+    "volume": "용량"
 }

+ 2 - 1
route/bbs_w_edit.py

@@ -167,7 +167,7 @@ def bbs_w_edit(bbs_num = '', post_num = '', comment_num = '', do_type = ''):
                     
                         <hr class="main_hr">
                         <div id="opennamu_preview_area">''' + data_preview + '''</div>
-
+                        <!--
                         <div style="''' + option_display + '''">
                             ''' + render_simple_set('''
                                 <hr class="main_hr">
@@ -183,6 +183,7 @@ def bbs_w_edit(bbs_num = '', post_num = '', comment_num = '', do_type = ''):
                                 ''' + load_lang('not_working') + '''
                             ''') + '''
                         </div>
+                        -->
                     </form>
                 ''',
                 menu = [['bbs/w/' + bbs_num_str, load_lang('return')]]

+ 12 - 3
route/tool/func.py

@@ -137,10 +137,11 @@ def get_init_set_list(need = 'all'):
         return init_set_list[need]
 
 class get_db_connect:
-    def __init__(self):
+    def __init__(self, db_type = ''):
         global global_db_set
-
         self.db_set = global_db_set
+        if db_type != '':
+           self.db_set['type'] = db_type 
         
     def __enter__(self):
         if self.db_set['type'] == 'sqlite':
@@ -888,6 +889,14 @@ def load_domain(data_type = 'normal'):
 
         return domain
 
+def get_tool_js_safe(data):
+    data = data.replace('\n', '\\\\n')
+    data = data.replace('\\', '\\\\')
+    data = data.replace("'", "\\'")
+    data = data.replace('"', '\\"')
+
+    return data
+
 def edit_button(ob_name = 'opennamu_edit_textarea', monaco_ob_name = 'opennamu_monaco_editor'):
     with get_db_connect() as conn:
         curs = conn.cursor()
@@ -901,7 +910,7 @@ def edit_button(ob_name = 'opennamu_edit_textarea', monaco_ob_name = 'opennamu_m
 
         data = ''
         for insert_data in insert_list:
-            data += '<a href="javascript:do_insert_data(\'' + ob_name + '\', \'' + insert_data[0] + '\', \'' + monaco_ob_name + '\');">(' + insert_data[1] + ')</a> '
+            data += '<a href="javascript:do_insert_data(\'' + ob_name + '\', \'' + get_tool_js_safe(insert_data[0]) + '\', \'' + monaco_ob_name + '\');">(' + html.escape(insert_data[1]) + ')</a> '
 
         data += (' ' if data != '' else '') + '<a href="/edit_top">(' + load_lang('add') + ')</a>'
         data += '<hr class="main_hr">'

+ 4 - 4
route/view_read.py

@@ -124,12 +124,12 @@ def view_read(name = 'Test', doc_rev = '', doc_from = '', do_type = ''):
                 file_size = str(round(os.path.getsize(file_path_name) / 1000, 1))
                 file_data = '''
                     <img src="/image/''' + url_pas(file_all_name) + '''">
-                    <h2>DATA</h2>
+                    <h2>''' + load_lang('data') + '''</h2>
                     <table>
-                        <tr><td>URL</td><td><a href="/image/''' + url_pas(file_all_name) + '''">LINK</a></td></tr>
-                        <tr><td>VOLUME</td><td>''' + file_size + '''KB</td></tr>
+                        <tr><td>URL</td><td><a href="/image/''' + url_pas(file_all_name) + '''">''' + load_lang('link') + '''</a></td></tr>
+                        <tr><td>''' + load_lang('volume') + '''</td><td>''' + file_size + '''KB</td></tr>
                     </table>
-                    <h2>CONTENT</h2>
+                    <h2>''' + load_lang('content') + '''</h2>
                 '''
 
                 menu += [['delete_file/' + url_pas(name), load_lang('file_delete')]]

+ 1 - 1
version.json

@@ -1,6 +1,6 @@
 {
     "beta" : {
-        "r_ver" : "v3.4.6-RC4-dev228",
+        "r_ver" : "v3.4.6-RC4.1-dev230",
         "c_ver" : "3500365",
         "s_ver" : "3500111"
     }