Selaa lähdekoodia

오류나면 셋업으로

2DU 8 vuotta sitten
vanhempi
sitoutus
4776d2ad3e
1 muutettua tiedostoa jossa 36 lisäystä ja 25 poistoa
  1. 36 25
      app.py

+ 36 - 25
app.py

@@ -62,31 +62,34 @@ except:
 
 @route('/setup', method=['GET', 'POST'])
 def setup():
-    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 user(id text, pw text, acl 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 text, date text, ip text, block text, top 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 login(user text, ip text, today text)")
-    curs.execute("create table back(title text, link text, type text)")
-    curs.execute("create table cat(title text, cat text)")
-    curs.execute("create table hidhi(title text, re text)")
-    curs.execute("create table agreedis(title text, sub text)")
-    curs.execute("create table custom(user text, css text)")
-    curs.execute("create table other(name text, data text)")
-    curs.execute("create table alist(name text, acl text)")
-
-    curs.execute("insert into alist (name, acl) values ('owner', 'owner')")
-    curs.execute("insert into other (name, data) values ('version', ?)", [r_ver])
-
-    curs.execute('insert into other (name, data) values ("name", "wiki")')
-    curs.execute('insert into other (name, data) values ("frontpage", "위키:대문")')
-    curs.execute('insert into other (name, data) values ("license", "CC 0")')
-    curs.execute('insert into other (name, data) values ("upload", "2")')
-    conn.commit()
+    try:
+        curs.execute("select title from data limit 1", [that])
+    except:
+        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 user(id text, pw text, acl 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 text, date text, ip text, block text, top 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 login(user text, ip text, today text)")
+        curs.execute("create table back(title text, link text, type text)")
+        curs.execute("create table cat(title text, cat text)")
+        curs.execute("create table hidhi(title text, re text)")
+        curs.execute("create table agreedis(title text, sub text)")
+        curs.execute("create table custom(user text, css text)")
+        curs.execute("create table other(name text, data text)")
+        curs.execute("create table alist(name text, acl text)")
+
+        curs.execute("insert into alist (name, acl) values ('owner', 'owner')")
+        curs.execute("insert into other (name, data) values ('version', ?)", [r_ver])
+
+        curs.execute('insert into other (name, data) values ("name", "wiki")')
+        curs.execute('insert into other (name, data) values ("frontpage", "위키:대문")')
+        curs.execute('insert into other (name, data) values ("license", "CC 0")')
+        curs.execute('insert into other (name, data) values ("upload", "2")')
+        conn.commit()
 
     return(redirect('/'))
 
@@ -3083,6 +3086,14 @@ def error_test(num = None):
 @error(404)
 def error_404(error):
     return(redirect('/w/' + url_pas(wiki_set(2))))
+
+@error(500)
+def error_500(error):
+    try:
+        curs.execute("select title from data limit 1", [that])
+        return(error)
+    except:
+        return(redirect('/setup'))
     
 run(
     app = app,