2DU 9 years ago
parent
commit
dfc0cfd358
3 changed files with 43 additions and 33 deletions
  1. 32 19
      app.py
  2. 1 5
      readme.md
  3. 10 9
      version.md

+ 32 - 19
app.py

@@ -21,8 +21,37 @@ log.setLevel(logging.ERROR)
 
 
 app.config['MAX_CONTENT_LENGTH'] = int(data['upload']) * 1024 * 1024
 app.config['MAX_CONTENT_LENGTH'] = int(data['upload']) * 1024 * 1024
 
 
-conn = pymysql.connect(host = data['host'], user = data['user'], password = data['pw'], db = data['db'], charset = 'utf8mb4')
-curs = conn.cursor(pymysql.cursors.DictCursor)
+try:
+    conn = pymysql.connect(host = data['host'], user = data['user'], password = data['pw'], db = data['db'], charset = 'utf8mb4')
+    curs = conn.cursor(pymysql.cursors.DictCursor)
+    curs.execute("create table if not exists data(title text not null, data longtext not null, acl text not null)")
+    curs.execute("create table if not exists history(id text not null, title text not null, data longtext not null, date text not null, ip text not null, send text not null, leng text not null)")
+    curs.execute("create table if not exists rd(title text not null, sub text not null, date text not null)")
+    curs.execute("create table if not exists user(id text not null, pw text not null, acl text not null)")
+    curs.execute("create table if not exists ban(block text not null, end text not null, why text not null, band text not null)")
+    curs.execute("create table if not exists topic(id text not null, title text not null, sub text not null, data longtext not null, date text not null, ip text not null, block text not null)")
+    curs.execute("create table if not exists stop(title text not null, sub text not null, close text not null)")
+    curs.execute("create table if not exists rb(block text not null, end text not null, today text not null, blocker text not null, why text not null)")
+    curs.execute("create table if not exists login(user text not null, ip text not null, today text not null)")
+    curs.execute("create table if not exists back(title text not null, link text not null, type text not null)")
+    curs.execute("create table if not exists cat(title text not null, cat text not null)")
+except:
+    conn = pymysql.connect(host = data['host'], user = data['user'], password = data['pw'], charset = 'utf8mb4')
+    curs = conn.cursor(pymysql.cursors.DictCursor)
+    curs.execute("create database " + data['db'])
+    curs.execute("ALTER DATABASE " + data['db'] + " CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci")
+    curs.execute("use " + data['db'])    
+    curs.execute("create table if not exists data(title text not null, data longtext not null, acl text not null)")
+    curs.execute("create table if not exists history(id text not null, title text not null, data longtext not null, date text not null, ip text not null, send text not null, leng text not null)")
+    curs.execute("create table if not exists rd(title text not null, sub text not null, date text not null)")
+    curs.execute("create table if not exists user(id text not null, pw text not null, acl text not null)")
+    curs.execute("create table if not exists ban(block text not null, end text not null, why text not null, band text not null)")
+    curs.execute("create table if not exists topic(id text not null, title text not null, sub text not null, data longtext not null, date text not null, ip text not null, block text not null)")
+    curs.execute("create table if not exists stop(title text not null, sub text not null, close text not null)")
+    curs.execute("create table if not exists rb(block text not null, end text not null, today text not null, blocker text not null, why text not null)")
+    curs.execute("create table if not exists login(user text not null, ip text not null, today text not null)")
+    curs.execute("create table if not exists back(title text not null, link text not null, type text not null)")
+    curs.execute("create table if not exists cat(title text not null, cat text not null)")
 
 
 app.secret_key = data['key']
 app.secret_key = data['key']
 
 
@@ -2136,21 +2165,6 @@ def move(name = None):
         else:
         else:
             return render_template('index.html', title = name, logo = data['name'], page = parse.quote(name).replace('/','%2F'), tn = 9, plus = '정말 이동 하시겠습니까?')
             return render_template('index.html', title = name, logo = data['name'], page = parse.quote(name).replace('/','%2F'), tn = 9, plus = '정말 이동 하시겠습니까?')
 
 
-@app.route('/setup')
-def setup():
-    curs.execute("create table if not exists data(title text not null, data longtext not null, acl text not null)")
-    curs.execute("create table if not exists history(id text not null, title text not null, data longtext not null, date text not null, ip text not null, send text not null, leng text not null)")
-    curs.execute("create table if not exists rd(title text not null, sub text not null, date text not null)")
-    curs.execute("create table if not exists user(id text not null, pw text not null, acl text not null)")
-    curs.execute("create table if not exists ban(block text not null, end text not null, why text not null, band text not null)")
-    curs.execute("create table if not exists topic(id text not null, title text not null, sub text not null, data longtext not null, date text not null, ip text not null, block text not null)")
-    curs.execute("create table if not exists stop(title text not null, sub text not null, close text not null)")
-    curs.execute("create table if not exists rb(block text not null, end text not null, today text not null, blocker text not null, why text not null)")
-    curs.execute("create table if not exists login(user text not null, ip text not null, today text not null)")
-    curs.execute("create table if not exists back(title text not null, link text not null, type text not null)")
-    curs.execute("create table if not exists cat(title text not null, cat text not null)")
-    return render_template('index.html', title = '설치 완료', logo = data['name'], data = '문제 없었음')
-
 @app.route('/other')
 @app.route('/other')
 def other():
 def other():
     return render_template('index.html', title = '기타 메뉴', logo = data['name'], data = '<li><a href="/titleindex">모든 문서</a></li><li><a href="/blocklog/n/1">유저 차단 기록</a></li><li><a href="/userlog/n/1">유저 가입 기록</a></li><li><a href="/upload">업로드</a></li><li><a href="/manager">관리자 메뉴</a></li><li><a href="/record">유저 기록</a></li>')
     return render_template('index.html', title = '기타 메뉴', logo = data['name'], data = '<li><a href="/titleindex">모든 문서</a></li><li><a href="/blocklog/n/1">유저 차단 기록</a></li><li><a href="/userlog/n/1">유저 가입 기록</a></li><li><a href="/upload">업로드</a></li><li><a href="/manager">관리자 메뉴</a></li><li><a href="/record">유저 기록</a></li>')
@@ -2739,7 +2753,6 @@ def admin(name = None):
                 return render_template('index.html', title = '권한 오류', logo = data['name'], data = '계정이 없습니다.')
                 return render_template('index.html', title = '권한 오류', logo = data['name'], data = '계정이 없습니다.')
         else:
         else:
             return render_template('index.html', title = '권한 오류', logo = data['name'], data = '비 로그인 상태 입니다.')
             return render_template('index.html', title = '권한 오류', logo = data['name'], data = '비 로그인 상태 입니다.')
-            return render_template('index.html', title = '권한 오류', logo = data['name'], data = '비 로그인 상태 입니다.')
 
 
 @app.route('/ban')
 @app.route('/ban')
 def aban():
 def aban():
@@ -2819,7 +2832,7 @@ def diff(name = None, a = None, b = None):
             return render_template('index.html', title = 'Diff 오류', logo = data['name'], data = '<a href="/w/' + name + '">이 리비전이나 문서가 없습니다.</a>')
             return render_template('index.html', title = 'Diff 오류', logo = data['name'], data = '<a href="/w/' + name + '">이 리비전이나 문서가 없습니다.</a>')
     else:
     else:
         return render_template('index.html', title = 'Diff 오류', logo = data['name'], data = '<a href="/w/' + name + '">이 리비전이나 문서가 없습니다.</a>')
         return render_template('index.html', title = 'Diff 오류', logo = data['name'], data = '<a href="/w/' + name + '">이 리비전이나 문서가 없습니다.</a>')
-
+        
 @app.route('/user')
 @app.route('/user')
 def user():
 def user():
     ip = getip(request)
     ip = getip(request)

+ 1 - 5
readme.md

@@ -32,13 +32,9 @@ set 폴더에 있는 set.json을 폴더 밖으로 꺼내고 json 내용을 수
 ## 설치 설명
 ## 설치 설명
 의존성 유틸들을 설치 합니다.
 의존성 유틸들을 설치 합니다.
 
 
-그리고 오픈나무의 DB를 인코딩 utf8mb4로 생성 합니다.
-
 그 다음 오픈나무 set.json을 폴더 밖에 꺼낸 후 설명에 따라 커스텀 합니다.
 그 다음 오픈나무 set.json을 폴더 밖에 꺼낸 후 설명에 따라 커스텀 합니다.
 
 
-그리고 오픈나무를 실행하고 ./setup 으로 들어 갑니다.
-
-설치가 되면 회원 가입으로 가서 owner 이름으로 설정 한 이름으로 가입 합니다.
+오픈나무를 키고 회원 가입으로 가서 owner 이름으로 설정 한 이름으로 가입 합니다.
 
 
 ## 주의
 ## 주의
 MySQL이나 MariaDB의 wait_timeout 값을 아주 큰 값으로 해줘야 위키가 안 터집니다.
 MySQL이나 MariaDB의 wait_timeout 값을 아주 큰 값으로 해줘야 위키가 안 터집니다.

+ 10 - 9
version.md

@@ -46,19 +46,20 @@
  * 유저 가입 목록
  * 유저 가입 목록
  * 최근 차단을 유저 차단 기록으로
  * 최근 차단을 유저 차단 기록으로
 
 
-## 1.6 (진행중)
- * 역링크 기능 완성 (완료)
- * 분류 완성 (완료)
- * 팝업 각주
- * 문단 편집 (완료)
- * 비밀번호 변경 (완료)
- * 몇몇 알고리즘 변경과 토론 있으면 불 나오게 (완료)
+## 1.6
+ * 역링크 기능 완성 
+ * 분류 완성 
+ * 셋업 변경
+ * 문단 편집 
+ * 비밀번호 변경 
+ * 몇몇 알고리즘 변경과 토론 있으면 불 나오게 
 
 
-## 1.7
+## 1.7 (진행중)
  * 토론에 AJAX 적용
  * 토론에 AJAX 적용
  * 리캡차 추가
  * 리캡차 추가
  * 섬네일 기능
  * 섬네일 기능
  * 업로드 보강
  * 업로드 보강
+ * 팝업 각주
 
 
 ## 계속
 ## 계속
  * 버그 수정
  * 버그 수정
@@ -74,7 +75,7 @@
 
 
 ----
 ----
 ## 기타
 ## 기타
- * 버전 1.6.7 - 정식
+ * 버전 1.7.0 - 정식
 
 
 ----
 ----
 ## 개발 이념
 ## 개발 이념