Просмотр исходного кода

백업 위치 설정 기능, MySQL일 때는 안 뜨게

Surplus_Up (2DU) 6 лет назад
Родитель
Сommit
3465f0757b
7 измененных файлов с 42 добавлено и 14 удалено
  1. 13 2
      app.py
  2. 3 1
      language/en-US.json
  3. 4 2
      language/ko-KR.json
  4. 1 1
      route/edit.py
  5. 1 1
      route/give_history_add.py
  6. 19 6
      route/setting.py
  7. 1 1
      version.json

+ 13 - 2
app.py

@@ -278,8 +278,19 @@ else:
 if set_data['db_type'] == 'sqlite':
     def back_up():
         print('----')
+
+        curs.execute(db_change('select data from other where name = "backup_where"'))
+        back_up_where = curs.fetchall()
+        if back_up_where and back_up_where[0][0] != '':
+            back_up_where = back_up_where[0][0]
+        else:
+            back_up_where = 'back_' + set_data['db'] + '.db'
+        
         try:
-            shutil.copyfile(set_data['db'] + '.db', 'back_' + set_data['db'] + '.db')
+            shutil.copyfile(
+                set_data['db'] + '.db', 
+                back_up_where
+            )
 
             print('Back up : OK')
         except:
@@ -351,7 +362,7 @@ def inter_wiki_plus(tools = None, name = None):
 @app.route('/setting')
 @app.route('/setting/<int:num>', methods=['POST', 'GET'])
 def setting(num = 0):
-    return setting_2(conn, num)
+    return setting_2(conn, num, set_data['db_type'])
 
 @app.route('/not_close_topic')
 def list_not_close_topic():

+ 3 - 1
language/en-US.json

@@ -99,6 +99,7 @@
         "off" : "Off",
         "unset" : "Unset",
         "extension" : "Extension",
+        "empty" : "Empty",
         "_comment_1.1_" : "Time",
             "second" : "Second(s)",
             "hour" : "Hour(s)",
@@ -258,6 +259,7 @@
                 "slow_edit" : "Continuous edit limit",
                 "requires_approval" : "Requires approval for register",
                 "approval_question": "Registeration questions",
+                "backup_where" : "Backup location",
             "_comment_2.2.3_" : "Text",
                 "register_text" : "Terms of sign-up",
                 "non_login_alert" : "Non-login alert",
@@ -349,7 +351,7 @@
         "no_login_warring" : "You are not logged in. The IP address will be logged when editing or discussing with non-login.",
         "user_reset_sign" : "Your account information has changed like this.",
         "update_warring" : "Manual updates are recommended if your version is 0.2 or lower than the latest version. For Windows, the contents of the route folder disappear.",
-        "defalut_edit_help" : "Describe it here",
+        "default_edit_help" : "Describe it here",
         "markup_enabled" : "Markup enabled",
         "many_delete_help" : "Please write down the document[s] name one by one on the line.",
         "sqlite_only" : "SQLite only",

+ 4 - 2
language/ko-KR.json

@@ -306,7 +306,7 @@
     "old_page": "편집된 지 오래된 문서",
     "skin_set": "스킨 설정",
     "edit_help": "편집 창 문구",
-    "defalut_edit_help": "이곳에 내용을 입력해주세요.",
+    "default_edit_help": "이곳에 내용을 입력해주세요.",
     "many_delete": "문서 대량 삭제",
     "many_delete_help": "한 줄에 문서명을 한 개씩 적어주세요.",
     "content": "내용",
@@ -365,5 +365,7 @@
     "star_doc" : "관심 문서",
     "add_star_doc" : "관심 문서 추가",
     "enter_html" : "HTML을 입력하세요.",
-    "exp_edit_conflict" : "편집 충돌 발생"
+    "exp_edit_conflict" : "편집 충돌 발생",
+    "backup_where" : "백업 위치",
+    "empty" : "빈칸"
 }

+ 1 - 1
route/edit.py

@@ -189,7 +189,7 @@ def edit_2(conn, name):
 
         curs.execute(db_change('select data from other where name = "edit_help"'))
         sql_d = curs.fetchall()
-        p_text = sql_d[0][0] if sql_d and sql_d[0][0] != '' else load_lang('defalut_edit_help')
+        p_text = sql_d[0][0] if sql_d and sql_d[0][0] != '' else load_lang('default_edit_help')
 
         data = re.sub(r'\n+$', '', data)
         data_old = re.sub(r'\n+$', '', data_old)

+ 1 - 1
route/give_history_add.py

@@ -39,7 +39,7 @@ def give_history_add_2(conn, name):
         if sql_d and sql_d[0][0] != '':
             p_text = sql_d[0][0]
         else:
-            p_text = load_lang('defalut_edit_help')
+            p_text = load_lang('default_edit_help')
 
         return easy_minify(flask.render_template(skin_check(),
             imp = [load_lang('history_add'), wiki_set(), custom(), other2([' (' + name + ')', 0])],

+ 19 - 6
route/setting.py

@@ -1,6 +1,6 @@
 from .tool.func import *
 
-def setting_2(conn, num):
+def setting_2(conn, num, db_set):
     curs = conn.cursor()
 
     if not (num == 0 or num == 8) and admin_check() != 1:
@@ -51,6 +51,7 @@ def setting_2(conn, num):
             16 : 'host',
             19 : 'slow_edit',
             20 : 'requires_approval',
+            21 : 'backup_where'
         }
         n_list = {
             0 : 'Wiki',
@@ -69,7 +70,8 @@ def setting_2(conn, num):
             15 : 'sha3',
             16 : '0.0.0.0',
             19 : '0',
-            20 : ''
+            20 : '',
+            21 : ''
         }
 
         if flask.request.method == 'POST':
@@ -129,6 +131,11 @@ def setting_2(conn, num):
                 branch_div += '<option value="master">master</option>'
                 branch_div += '<option value="stable">stable</option>'
 
+            if db_set != 'sqlite':
+                sqlite_only = 'style="display:none;"'
+            else:
+                sqlite_only = ''
+
             return easy_minify(flask.render_template(skin_check(),
                 imp = [load_lang('main_setting'), wiki_set(), custom(), other2([0, 0])],
                 data = '''
@@ -151,10 +158,16 @@ def setting_2(conn, num):
                         <hr class="main_hr">
                         <input name="upload" value="''' + html.escape(d_list[4]) + '''">
                         <hr class="main_hr">
-                        <span>''' + load_lang('backup_interval') + ' (' + load_lang('hour') + ') (' + load_lang('off') + ' : 0) (' + load_lang('sqlite_only') + ') (' + load_lang('restart_required') + ''')</span>
-                        <hr class="main_hr">
-                        <input name="back_up" value="''' + html.escape(d_list[9]) + '''">
-                        <hr class="main_hr">
+                        <span ''' + sqlite_only + '''>
+                            <span>''' + load_lang('backup_interval') + ' (' + load_lang('hour') + ') (' + load_lang('off') + ' : 0) (' + load_lang('restart_required') + ''')</span>
+                            <hr class="main_hr">
+                            <input name="back_up" value="''' + html.escape(d_list[9]) + '''">
+                            <hr class="main_hr">
+                            <span>''' + load_lang('backup_where') + ' (' + load_lang('empty') + ' : ' + load_lang('default') + ') (' + load_lang('restart_required') + ''') (EX : ./data/backup.db)</span>
+                            <hr class="main_hr">
+                            <input name="backup_where" value="''' + html.escape(d_list[21]) + '''">
+                            <hr class="main_hr">
+                        </span>
                         <span>''' + load_lang('wiki_skin') + '''</span>
                         <hr class="main_hr">
                         <select name="skin">''' + load_skin(d_list[5]) + '''</select>

+ 1 - 1
version.json

@@ -1,6 +1,6 @@
 {
     "master" : {
-        "r_ver" : "v3.1.8-master-52",
+        "r_ver" : "v3.1.8-master-53",
         "c_ver" : "3184400",
         "s_ver" : "8"
     }, "stable" : {