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

Merge pull request #775 from 2du/master

버그 수정
잉여개발기 (SPDV) 6 лет назад
Родитель
Сommit
2a1f7f1885
6 измененных файлов с 76 добавлено и 74 удалено
  1. 14 19
      app.py
  2. 1 1
      route/give_admin_groups.py
  3. 2 2
      route/main_manager.py
  4. 51 48
      route/server_indexing.py
  5. 6 2
      route/topic.py
  6. 2 2
      version.json

+ 14 - 19
app.py

@@ -10,13 +10,9 @@ for i_data in os.listdir("route"):
 
 version_list = json.loads(open('version.json').read())
 
-r_ver = version_list['master']['r_ver']
-c_ver = version_list['master']['c_ver']
-s_ver = version_list['master']['s_ver']
-
-print('Version : ' + r_ver)
-print('DB set version : ' + c_ver)
-print('Skin set version : ' + s_ver)
+print('Version : ' + version_list['master']['r_ver'])
+print('DB set version : ' + version_list['master']['c_ver'])
+print('Skin set version : ' + version_list['master']['s_ver'])
 print('----')
 
 app_var = json.loads(open('data/app_var.json').read())
@@ -75,7 +71,6 @@ while 1:
         
 print('DB name : ' + set_data['db'])
 print('DB type : ' + set_data['db_type'])
-db_name = set_data['db']
 
 db_data_get(set_data['db_type'])
 
@@ -111,16 +106,16 @@ if set_data['db_type'] == 'mysql':
     curs = conn.cursor()
 
     try:
-        curs.execute(db_change('create database ? default character set utf8mb4;')%pymysql.escape_string(db_name))
+        curs.execute(db_change('create database ? default character set utf8mb4;')%pymysql.escape_string(set_data['db']))
     except:
         pass
 
-    curs.execute(db_change('use ?')%pymysql.escape_string(db_name))
+    curs.execute(db_change('use ?')%pymysql.escape_string(set_data['db']))
 else:
-    conn = sqlite3.connect(db_name + '.db', check_same_thread = False)
+    conn = sqlite3.connect(set_data['db'] + '.db', check_same_thread = False)
     curs = conn.cursor()
             
-if os.path.exists(db_name + '.db'):
+if os.path.exists(set_data['db'] + '.db'):
     setup_tool = 0
 else:
     setup_tool = 1
@@ -185,7 +180,7 @@ if setup_tool == 0:
         if not ver_set_data:
             setup_tool = 1
         else:
-            if c_ver > ver_set_data[0][0]:
+            if version_list['master']['c_ver'] > ver_set_data[0][0]:
                 setup_tool = 1
     except:
         setup_tool = 1
@@ -272,12 +267,12 @@ if not adsense_result:
     curs.execute(db_change('insert into other (name, data) values ("adsense_code", "")'))
 
 curs.execute(db_change('delete from other where name = "ver"'))
-curs.execute(db_change('insert into other (name, data) values ("ver", ?)'), [c_ver])
+curs.execute(db_change('insert into other (name, data) values ("ver", ?)'), [version_list['master']['c_ver']])
 
 def back_up():
     print('----')
     try:
-        shutil.copyfile(db_name + '.db', 'back_' + db_name + '.db')
+        shutil.copyfile(set_data['db'] + '.db', 'back_' + set_data['db'] + '.db')
         
         print('Back up : OK')
     except:
@@ -401,7 +396,7 @@ def list_give():
 
 @app.route('/indexing', methods=['POST', 'GET'])
 def server_indexing():
-    return server_indexing_2(conn)       
+    return server_indexing_2(conn, set_data['db_type'])       
 
 @app.route('/restart', methods=['POST', 'GET'])
 def server_restart():
@@ -409,7 +404,7 @@ def server_restart():
 
 @app.route('/update', methods=['GET', 'POST'])
 def server_now_update():
-    return server_now_update_2(conn, r_ver)
+    return server_now_update_2(conn, version_list['master']['r_ver'])
 
 @app.route('/oauth_setting', methods=['GET', 'POST'])
 def setting_oauth():
@@ -477,7 +472,7 @@ def main_other():
 @app.route('/manager', methods=['POST', 'GET'])
 @app.route('/manager/<int:num>', methods=['POST', 'GET'])
 def main_manager(num = 1):
-    return main_manager_2(conn, num, r_ver)
+    return main_manager_2(conn, num, version_list['master']['r_ver'], set_data['db_type'])
         
 @app.route('/title_index')
 def list_title_index():
@@ -643,7 +638,7 @@ def api_raw(name = ''):
 
 @app.route('/api/version')
 def api_version():
-    return api_version_2(conn, r_ver, c_ver)
+    return api_version_2(conn, version_list['master']['r_ver'], version_list['master']['c_ver'])
 
 @app.route('/api/skin_info')
 @app.route('/api/skin_info/<name>')

+ 1 - 1
route/give_admin_groups.py

@@ -63,7 +63,7 @@ def give_admin_groups_2(conn, name):
 
         acl_name_list = ['ban', 'nothing', 'toron', 'check', 'acl', 'hidel', 'give', 'owner']
         for i in range(0, 8):
-            if i != 2:
+            if i != 1:
                 data += '<li><input type="checkbox" ''' + state +  ' name="' + acl_name_list[i] + '" ' + exist_list[i] + '> ' + acl_name_list[i] + '</li>'
 
         data += '</ul>'

+ 2 - 2
route/main_manager.py

@@ -1,6 +1,6 @@
 from .tool.func import *
 
-def main_manager_2(conn, num, r_ver):
+def main_manager_2(conn, num, r_ver, db_type):
     curs = conn.cursor()
     
     title_list = {
@@ -50,7 +50,7 @@ def main_manager_2(conn, num, r_ver):
                     <br>
                     <h2>''' + load_lang('server') + '''</h2>
                     <ul>
-                        <li><a href="/indexing">''' + load_lang('indexing') + '''</a></li>
+                        ''' + (('<li><a href="/indexing">' + load_lang('indexing') + '</a></li>') if db_type == 'sqlite' else '') + '''
                         <li><a href="/restart">''' + load_lang('wiki_restart') + '''</a></li>
                         <li><a href="/update">''' + load_lang('update') + '''</a></li>
                         <li><a href="/oauth_setting">''' + load_lang('oauth_setting') + '''</a></li>

+ 51 - 48
route/server_indexing.py

@@ -1,60 +1,63 @@
 from .tool.func import *
 
-def server_indexing_2(conn):
+def server_indexing_2(conn, db_type):
     curs = conn.cursor()
 
-    if admin_check() != 1:
-        return re_error('/error/3')
+    if db_type == 'sqlite':
+        if admin_check() != 1:
+            return re_error('/error/3')
 
-    if flask.request.method == 'POST':
-        admin_check(None, 'indexing')
+        if flask.request.method == 'POST':
+            admin_check(None, 'indexing')
 
-        curs.execute(db_change("select name from sqlite_master where type = 'index'"))
-        data = curs.fetchall()
-        if data:
-            for delete_index in data:
-                print('Delete : ' + delete_index[0])
+            curs.execute(db_change("select name from sqlite_master where type = 'index'"))
+            data = curs.fetchall()
+            if data:
+                for delete_index in data:
+                    print('Delete : ' + delete_index[0])
 
-                sql = 'drop index if exists ' + delete_index[0]
-                
-                try:
-                    curs.execute(db_change(sql))
-                except:
-                    pass
-        else:
-            curs.execute(db_change("select name from sqlite_master where type in ('table', 'view') and name not like 'sqlite_%' union all select name from sqlite_temp_master where type in ('table', 'view') order by 1;"))
-            for table in curs.fetchall():            
-                curs.execute(db_change('select sql from sqlite_master where name = ?'), [table[0]])
-                cul = curs.fetchall()
-                
-                r_cul = re.findall('(?:([^ (]*) text)', str(cul[0]))
-                
-                for n_cul in r_cul:
-                    print('Create : index_' + table[0] + '_' + n_cul)
-
-                    sql = 'create index index_' + table[0] + '_' + n_cul + ' on ' + table[0] + '(' + n_cul + ')'
+                    sql = 'drop index if exists ' + delete_index[0]
+                    
                     try:
                         curs.execute(db_change(sql))
                     except:
                         pass
-
-        conn.commit()
-        
-        return redirect()  
-    else:
-        curs.execute(db_change("select name from sqlite_master where type = 'index'"))
-        data = curs.fetchall()
-        if data:
-            b_data = load_lang('delete')
+            else:
+                curs.execute(db_change("select name from sqlite_master where type in ('table', 'view') and name not like 'sqlite_%' union all select name from sqlite_temp_master where type in ('table', 'view') order by 1;"))
+                for table in curs.fetchall():            
+                    curs.execute(db_change('select sql from sqlite_master where name = ?'), [table[0]])
+                    cul = curs.fetchall()
+                    
+                    r_cul = re.findall('(?:([^ (]*) text)', str(cul[0]))
+                    
+                    for n_cul in r_cul:
+                        print('Create : index_' + table[0] + '_' + n_cul)
+
+                        sql = 'create index index_' + table[0] + '_' + n_cul + ' on ' + table[0] + '(' + n_cul + ')'
+                        try:
+                            curs.execute(db_change(sql))
+                        except:
+                            pass
+
+            conn.commit()
+            
+            return redirect()  
         else:
-            b_data = load_lang('create')
-
-        return easy_minify(flask.render_template(skin_check(), 
-            imp = [load_lang('indexing'), wiki_set(), custom(), other2([0, 0])],
-            data =  '''
-                    <form method="post">
-                        <button type="submit">''' + b_data + '''</button>
-                    </form>
-                    ''',
-            menu = [['manager', load_lang('return')]]
-        ))   
+            curs.execute(db_change("select name from sqlite_master where type = 'index'"))
+            data = curs.fetchall()
+            if data:
+                b_data = load_lang('delete')
+            else:
+                b_data = load_lang('create')
+
+            return easy_minify(flask.render_template(skin_check(), 
+                imp = [load_lang('indexing'), wiki_set(), custom(), other2([0, 0])],
+                data =  '''
+                        <form method="post">
+                            <button type="submit">''' + b_data + '''</button>
+                        </form>
+                        ''',
+                menu = [['manager', load_lang('return')]]
+            ))   
+    else:
+        return redirect('/')

+ 6 - 2
route/topic.py

@@ -52,7 +52,7 @@ def topic_2(conn, name, sub):
             if y_check == 1:
                 curs.execute(db_change('insert into alarm (name, data, date) values (?, ?, ?)'), [
                     match.groups()[0], 
-                    ip + ' - <a href="/topic/' + url_pas(name) + '/sub/' + url_pas(sub) + '">' + load_lang('user_discussion', 1) + '</a>', 
+                    ip + ' | <a href="/topic/' + url_pas(name) + '/sub/' + url_pas(sub) + '">' + name + ' | ' + sub + ' | #' + str(num) + '</a>', 
                     today
                 ])
         
@@ -63,7 +63,11 @@ def topic_2(conn, name, sub):
             curs.execute(db_change("select ip from topic where title = ? and sub = ? and id = ?"), [name, sub, rd_data])
             ip_data = curs.fetchall()
             if ip_data and ip_or_user(ip_data[0][0]) == 0:
-                curs.execute(db_change('insert into alarm (name, data, date) values (?, ?, ?)'), [ip_data[0][0], ip + ' - <a href="/topic/' + url_pas(name) + '/sub/' + url_pas(sub) + '#' + str(num) + '">discussion</a>', today])
+                curs.execute(db_change('insert into alarm (name, data, date) values (?, ?, ?)'), [
+                    ip_data[0][0], 
+                    ip + ' | <a href="/topic/' + url_pas(name) + '/sub/' + url_pas(sub) + '#' + str(num) + '">' + name + ' | ' + sub + ' | #' + str(num) + '</a>', 
+                    today
+                ])
             
         data = re.sub("(?P<in>#(?:[0-9]+))", '[[\g<in>]]', data)
 

+ 2 - 2
version.json

@@ -1,10 +1,10 @@
 {
     "master" : {
-        "r_ver" : "v3.1.4-stable-02",
+        "r_ver" : "v3.1.4-stable-03",
         "c_ver" : "400004",
         "s_ver" : "5"
     }, "stable" : {
-        "r_ver" : "v3.1.4-stable-02",
+        "r_ver" : "v3.1.4-stable-03",
         "c_ver" : "400004",
         "s_ver" : "5"
     }