2du 4 سال پیش
والد
کامیت
d49c343719
3فایلهای تغییر یافته به همراه57 افزوده شده و 29 حذف شده
  1. 29 27
      app.py
  2. 27 1
      route/tool/func.py
  3. 1 1
      version.json

+ 29 - 27
app.py

@@ -69,12 +69,19 @@ else:
     with open(os.path.join('data', 'set.json'), 'w', encoding = 'utf8') as f:
         f.write(json.dumps(set_data))
 
-db_data_get(set_data['db_type'])
+data_db_set = {}
+data_db_set['name'] = set_data['db']
+data_db_set['type'] = set_data['db_type']
 
-if set_data['db_type'] == 'mysql':
+if data_db_set['type'] == 'mysql':
     if not os.path.exists(os.path.join('data', 'mysql.json')):
         db_set_list = ['user', 'password', 'host', 'port']
-        set_data = json.loads(open(os.path.join('data', 'mysql.json'), encoding = 'utf8').read())
+        set_data = json.loads(
+            open(
+                os.path.join('data', 'mysql.json'),
+                encoding = 'utf8'
+            ).read()
+        )
         for i in db_set_list:
             if not i in set_data:
                 print('Please delete mysql.json')
@@ -97,28 +104,27 @@ if set_data['db_type'] == 'mysql':
         if set_data_mysql['port'] == '':
             set_data_mysql['port'] = '3306'
 
-        with open(os.path.join('data', 'mysql.json'), 'w', encoding = 'utf8') as f:
+        with open(
+            os.path.join('data', 'mysql.json'), 
+            'w', 
+            encoding = 'utf8'
+        ) as f:
             f.write(json.dumps(set_data_mysql))
-
-    conn = pymysql.connect(
-        host = set_data_mysql['host'] if 'host' in set_data_mysql else 'localhost',
-        user = set_data_mysql['user'],
-        password = set_data_mysql['password'],
-        charset = 'utf8mb4',
-        port = int(set_data_mysql['port']) if 'port' in set_data_mysql else 3306
-    )
-    curs = conn.cursor()
-
-    try:
-        curs.execute(db_change('create database ' + set_data['db'] + ' default character set utf8mb4;'))
-    except:
-        pass
+            
+    data_db_set['mysql_user'] = set_data_mysql['user']
+    data_db_set['mysql_pw'] = set_data_mysql['password']
+    if 'host' in set_data_mysql:
+        data_db_set['mysql_host'] = set_data_mysql['host']
+    else:
+        data_db_set['mysql_host'] = 'localhost'
     
-    conn.select_db(set_data['db'])
-else:
-    conn = sqlite3.connect(set_data['db'] + '.db')
-    curs = conn.cursor()
+    if 'port' in set_data_mysql:
+        data_db_set['mysql_port'] = set_data_mysql['port']
+    else:
+        data_db_set['mysql_port'] = '3306'
 
+db_data_get(data_db_set['type'])
+conn = get_conn(data_db_set)
 load_conn(conn)
 
 # Init-Create_DB
@@ -299,6 +305,7 @@ else:
     mysql_dont_off(server_set['port'])
 
 print('Now running... http://localhost:' + server_set['port'])
+conn.commit()
 
 if os.path.exists('custom.py'):
     from custom import custom_run
@@ -640,7 +647,6 @@ def login_2fa_email():
     return login_login_2fa_email_2(conn)
 '''
 
-# 아 이건 생각 좀 해보고 해야지
 @app.route('/register', methods = ['POST', 'GET'])
 def login_register():
     return login_register_2(conn)
@@ -657,7 +663,6 @@ def login_register_email_check():
 def login_register_submit():
     return login_register_submit_2(conn)
 
-# 이 파트와 통일 예정
 @app.route('/<regex("need_email"):tool>', methods = ['POST', 'GET'])
 @app.route('/<regex("pass_find"):tool>', methods = ['POST', 'GET'])
 def login_need_email(tool = 'pass_find'):
@@ -806,9 +811,6 @@ def main_file(data = ''):
 @app.errorhandler(404)
 def main_error_404(e):
     return main_error_404_2(conn)
-
-# End
-conn.commit()
 	
 if __name__ == "__main__":
     WSGIServer((

+ 27 - 1
route/tool/func.py

@@ -169,7 +169,33 @@ class server_init:
                         return server_set_val
                 else:
                     return self.server_set_var[key]['default']
-                
+
+def get_conn(db_set):
+    if db_set['type'] == 'sqlite':
+        conn = sqlite3.connect(db_set['name'] + '.db')
+        curs = conn.cursor()
+    else:
+        conn = pymysql.connect(
+            host = db_set['mysql_host'],
+            user = db_set['mysql_user'],
+            password = db_set['mysql_pw'],
+            charset = 'utf8mb4',
+            port = int(db_set['mysql_port'])
+        )
+        curs = conn.cursor()
+    
+        try:
+            curs.execute(db_change(
+                'create database ' + db_set['name'] + ' ' + \
+                'default character set utf8mb4;'
+            ))
+        except:
+            pass
+        
+        conn.select_db(db_set['name'])
+        
+    return conn
+
 def update(ver_num, set_data):
     print('----')
     # 업데이트 하위 호환 유지 함수

+ 1 - 1
version.json

@@ -1,6 +1,6 @@
 {
     "beta" : {
-        "r_ver" : "v3.4.0-stable-01b (beta-01b) (dev-21.08.25-01)",
+        "r_ver" : "v3.4.0-stable-01b (beta-01b) (dev-21.09.04-01)",
         "c_ver" : "3400101",
         "s_ver" : "12"
     }