2DU 8 tahun lalu
induk
melakukan
818efaff8c
5 mengubah file dengan 139 tambahan dan 32 penghapusan
  1. 5 5
      app.py
  2. 2 3
      mark.py
  3. 0 22
      update.py
  4. 127 0
      update_mysql.py
  5. 5 2
      version.md

+ 5 - 5
app.py

@@ -62,7 +62,7 @@ def redirect(data):
     
     
 from func import *
 from func import *
 
 
-r_ver = '2.1.7'
+r_ver = '2.2.0'
 
 
 try:
 try:
     curs.execute('select data from other where name = "version"')
     curs.execute('select data from other where name = "version"')
@@ -79,12 +79,12 @@ except:
 
 
 @route('/setup', method=['GET', 'POST'])
 @route('/setup', method=['GET', 'POST'])
 def setup():
 def setup():
-    curs.execute("create table data(title text, data longtext, acl text)")
-    curs.execute("create table history(id text, title text, data longtext, date text, ip text, send text, leng text)")
+    curs.execute("create table data(title text, data text, acl text)")
+    curs.execute("create table history(id text, title text, data text, date text, ip text, send text, leng text)")
     curs.execute("create table rd(title text, sub text, date text)")
     curs.execute("create table rd(title text, sub text, date text)")
     curs.execute("create table user(id text, pw text, acl text)")
     curs.execute("create table user(id text, pw text, acl text)")
     curs.execute("create table ban(block text, end text, why text, band text)")
     curs.execute("create table ban(block text, end text, why text, band text)")
-    curs.execute("create table topic(id text, title text, sub text, data longtext, date text, ip text, block text, top text)")
+    curs.execute("create table topic(id text, title text, sub text, data text, date text, ip text, block text, top text)")
     curs.execute("create table stop(title text, sub text, close text)")
     curs.execute("create table stop(title text, sub text, close text)")
     curs.execute("create table rb(block text, end text, today text, blocker text, why text)")
     curs.execute("create table rb(block text, end text, today text, blocker text, why text)")
     curs.execute("create table login(user text, ip text, today text)")
     curs.execute("create table login(user text, ip text, today text)")
@@ -92,7 +92,7 @@ def setup():
     curs.execute("create table cat(title text, cat text)")
     curs.execute("create table cat(title text, cat text)")
     curs.execute("create table hidhi(title text, re text)")
     curs.execute("create table hidhi(title text, re text)")
     curs.execute("create table agreedis(title text, sub text)")
     curs.execute("create table agreedis(title text, sub text)")
-    curs.execute("create table custom(user text, css longtext)")
+    curs.execute("create table custom(user text, css text)")
     curs.execute("create table other(name text, data text)")
     curs.execute("create table other(name text, data text)")
     curs.execute("create table alist(name text, acl text)")
     curs.execute("create table alist(name text, acl text)")
 
 

+ 2 - 3
mark.py

@@ -28,9 +28,8 @@ def get_time():
     return(date)
     return(date)
 
 
 def escape(data):
 def escape(data):
-    data = data.replace('\\', '\\\\')
-    data = data.replace("'", "\'")
-    data = data.replace('"', '\"')
+    data = data.replace("'", "''")
+    data = data.replace('"', '""')
 
 
     return(data)
     return(data)
     
     

+ 0 - 22
update.py

@@ -1,22 +0,0 @@
-import pymysql
-import json
-import re
-
-json_data = open('set.json').read()
-set_data = json.loads(json_data)
-
-conn = pymysql.connect(
-    user = set_data['user'], 
-    password = set_data['pw'], 
-    charset = 'utf8mb4', 
-    db = set_data['db']
-)
-curs = conn.cursor(pymysql.cursors.DictCursor)   
-
-r_ver = '2.1.7'
-
-conn.commit()
-conn.close()
-
-print('종료 하려면 아무 키나 누르시오.')
-a = input()

+ 127 - 0
update_mysql.py

@@ -0,0 +1,127 @@
+import sqlite3
+import pymysql
+import json
+import re
+
+json_data = open('set.json').read()
+set_data = json.loads(json_data)
+
+conn2 = sqlite3.connect(set_data['db'] + '.db')
+curs2 = conn2.cursor()
+
+def escape(data):
+    data = data.replace("'", "''")
+    data = data.replace('"', '""')
+
+    return(data)
+
+conn = pymysql.connect(
+    user = set_data['user'], 
+    password = set_data['pw'], 
+    charset = 'utf8mb4', 
+    db = set_data['db']
+)
+curs = conn.cursor(pymysql.cursors.DictCursor)   
+
+r_ver = '2.2.0'
+
+curs2.execute("create table data(title text, data text, acl text)")
+curs2.execute("create table history(id text, title text, data text, date text, ip text, send text, leng text)")
+curs2.execute("create table rd(title text, sub text, date text)")
+curs2.execute("create table user(id text, pw text, acl text)")
+curs2.execute("create table ban(block text, end text, why text, band text)")
+curs2.execute("create table topic(id text, title text, sub text, data text, date text, ip text, block text, top text)")
+curs2.execute("create table stop(title text, sub text, close text)")
+curs2.execute("create table rb(block text, end text, today text, blocker text, why text)")
+curs2.execute("create table login(user text, ip text, today text)")
+curs2.execute("create table back(title text, link text, type text)")
+curs2.execute("create table cat(title text, cat text)")
+curs2.execute("create table hidhi(title text, re text)")
+curs2.execute("create table agreedis(title text, sub text)")
+curs2.execute("create table custom(user text, css text)")
+curs2.execute("create table other(name text, data text)")
+curs2.execute("create table alist(name text, acl text)")
+
+curs2.execute("insert into other (name, data) values ('version', '" + escape(r_ver) + "')")
+
+conn2.commit()
+
+curs.execute("select * from data")
+data = curs.fetchall()
+for data2 in data:
+    curs2.execute("insert into data (title, data, acl) values ('" + escape(data2['title']) + "', '" + escape(data2['data']) + "', '" + escape(data2['acl']) + "')")
+
+curs.execute("select * from history")
+data = curs.fetchall()
+for data2 in data:
+    curs2.execute("insert into history (id, title, data, date, ip, send, leng) values ('" + escape(data2['id']) + "', '" + escape(data2['title']) + "', '" + escape(data2['data']) + "', '" + escape(data2['date']) + "', '" + escape(data2['ip']) + "', '" + escape(data2['send']) + "', '" + escape(data2['leng']) + "')")
+
+curs.execute("select * from rd")
+data = curs.fetchall()
+for data2 in data:
+    curs2.execute("insert into rd (title, sub, date) values ('" + escape(data2['title']) + "', '" + escape(data2['sub']) + "', '" + escape(data2['date']) + "')")
+
+curs.execute("select * from user")
+data = curs.fetchall()
+for data2 in data:
+    curs2.execute("insert into user (id, pw, acl) values ('" + escape(data2['id']) + "', '" + escape(data2['pw']) + "', '" + escape(data2['acl']) + "')")
+
+curs.execute("select * from ban")
+data = curs.fetchall()
+for data2 in data:
+    curs2.execute("insert into ban (block, end, why, band) values ('" + escape(data2['block']) + "', '" + escape(data2['end']) + "', '" + escape(data2['why']) + "', '" + escape(data2['band']) + "')")
+
+curs.execute("select * from topic")
+data = curs.fetchall()
+for data2 in data:
+    curs2.execute("insert into topic (id, title, sub, data, date, ip, block, top) values ('" + escape(data2['id']) + "', '" + escape(data2['title']) + "', '" + escape(data2['sub']) + "', '" + escape(data2['data']) + "', '" + escape(data2['date']) + "', '" + escape(data2['ip']) + "', '" + escape(data2['block']) + "', '" + escape(data2['top']) + "')")
+
+curs.execute("select * from stop")
+data = curs.fetchall()
+for data2 in data:
+    curs2.execute("insert into stop (title, sub, close) values ('" + escape(data2['title']) + "', '" + escape(data2['sub']) + "', '" + escape(data2['close']) + "')")
+
+curs.execute("select * from rb")
+data = curs.fetchall()
+for data2 in data:
+    curs2.execute("insert into rb (block, end, today, blocker, why) values ('" + escape(data2['block']) + "', '" + escape(data2['end']) + "', '" + escape(data2['today']) + "', '" + escape(data2['blocker']) + "', '" + escape(data2['why']) + "')")
+
+curs.execute("select * from login")
+data = curs.fetchall()
+for data2 in data:
+    curs2.execute("insert into login (user, ip, today) values ('" + escape(data2['user']) + "', '" + escape(data2['ip']) + "', '" + escape(data2['today']) + "')")
+
+curs.execute("select * from cat")
+data = curs.fetchall()
+for data2 in data:
+    curs2.execute("insert into cat (title, cat) values ('" + escape(data2['title']) + "', '" + escape(data2['cat']) + "')")
+
+curs.execute("select * from back")
+data = curs.fetchall()
+for data2 in data:
+    curs2.execute("insert into back (title, link, type) values ('" + escape(data2['title']) + "', '" + escape(data2['link']) + "', '" + escape(data2['type']) + "')")
+
+curs.execute("select * from hidhi")
+data = curs.fetchall()
+for data2 in data:
+    curs2.execute("insert into hidhi (title, re) values ('" + escape(data2['title']) + "', '" + escape(data2['re']) + "')")
+
+curs.execute("select * from agreedis")
+data = curs.fetchall()
+for data2 in data:
+    curs2.execute("insert into agreedis (title, sub) values ('" + escape(data2['title']) + "', '" + escape(data2['sub']) + "')")
+
+curs.execute("select * from custom")
+data = curs.fetchall()
+for data2 in data:
+    curs2.execute("insert into custom (user, css) values ('" + escape(data2['user']) + "', '" + escape(data2['css']) + "')")
+
+curs.execute("select * from alist")
+data = curs.fetchall()
+for data2 in data:
+    curs2.execute("insert into alist (name, acl) values ('" + escape(data2['name']) + "', '" + escape(data2['acl']) + "')")
+
+conn2.commit()
+
+print('종료 하려면 아무 키나 누르시오.')
+a = input()

+ 5 - 2
version.md

@@ -89,12 +89,15 @@
  * 나머지
  * 나머지
  * 코드 많이 수정
  * 코드 많이 수정
  
  
-## 2.1 (진행)
+## 2.1
  * 타임아웃 문제 해결
  * 타임아웃 문제 해결
  * 하위 문서 바로가기
  * 하위 문서 바로가기
  * app.py 부분 while을 for로 수정
  * app.py 부분 while을 for로 수정
  * 역링크 구조 개선
  * 역링크 구조 개선
 
 
+## 2.2 (SQLite) (진행)
+ * SQLite로 DB 변경
+
 ## 계속
 ## 계속
  * 버그 수정
  * 버그 수정
  * 비동기 일부 적용
  * 비동기 일부 적용
@@ -118,7 +121,7 @@
 
 
 ----
 ----
 ## 기타
 ## 기타
- * 최신 버전 - v2.1.7
+ * 최신 버전 - v2.2.0
 
 
 ----
 ----
 ## 개발 이념
 ## 개발 이념