Browse Source

API 버전 기능

Surplus_Up (2DU) 7 năm trước cách đây
mục cha
commit
ee287c73bf
3 tập tin đã thay đổi với 35 bổ sung6 xóa
  1. 11 0
      app.py
  2. 19 0
      route/api_version.py
  3. 5 6
      route/tool/func.py

+ 11 - 0
app.py

@@ -15,6 +15,7 @@ print('Version : ' + r_ver)
 
 app_var = json.loads(open('data/app_variables.json', encoding='utf-8').read())
 
+# DB
 all_src = []
 for i_data in os.listdir("."):
     f_src = re.search("(.+)\.db$", i_data)
@@ -166,6 +167,7 @@ if setup_tool != 0:
 
     update()
 
+# Init
 curs.execute('select name from alist where acl = "owner"')
 if not curs.fetchall():
     curs.execute('delete from alist where name = "owner"')
@@ -263,6 +265,7 @@ else:
 
 conn.commit()
 
+## Func
 @app.route('/del_alarm')
 def del_alarm():
     return del_alarm_2(conn)
@@ -540,6 +543,7 @@ def title_random():
 def skin_set():
     return re_error('/error/5')
     
+# API
 @app.route('/api/w/<everything:name>')
 def api_w(name = ''):
     return api_w_2(conn, name)
@@ -548,10 +552,16 @@ def api_w(name = ''):
 def api_raw(name = ''):
     return api_raw_2(conn, name)
 
+
+@app.route('/api/version')
+def api_version():
+    return api_version_2(conn, r_ver, c_ver)
+
 @app.route('/api/topic/<everything:name>/sub/<sub>')
 def api_topic_sub(name = '', sub = '', time = ''):
     return api_topic_sub_2(conn, name, sub, time)
     
+## File
 @app.route('/views/easter_egg.html')
 def easter_egg():
     return easter_egg_2(conn)
@@ -564,6 +574,7 @@ def views(name = None):
 def main_file(data = None):
     return main_file_2(conn, data)
 
+## End
 @app.errorhandler(404)
 def error_404(e):
     return error_404_2(conn)

+ 19 - 0
route/api_version.py

@@ -0,0 +1,19 @@
+from .tool.func import *
+
+def api_version_2(conn, r_ver, c_ver):
+    curs = conn.cursor()
+
+    new_ver = ''
+
+    data = urllib.request.urlopen('https://namu.ml/api/version')
+    if data and data.getcode() == 200:
+        try:
+            json_data = json.loads(data.read().decode(data.headers.get_content_charset()))
+            if 'version' in json_data:
+                new_ver = json_data['version']
+        except:
+            pass
+        
+    json_data = { "version" : r_ver, "db_version" : c_ver, "lastest_version" : new_ver  }
+
+    return flask.jsonify(json_data)

+ 5 - 6
route/tool/func.py

@@ -259,15 +259,14 @@ def captcha_post(re_data, num = 1):
             sec_re = curs.fetchall()
             if sec_re and sec_re[0][0] != '':
                 data = urllib.request.urlopen('https://www.google.com/recaptcha/api/siteverify?secret=' + sec_re[0][0] + '&response=' + re_data)
-                if not data:
-                    return 0
-                else:
-                    json_data = data.read().decode(data.headers.get_content_charset())
-                    json_data = json.loads(json_data)
-                    if data.getcode() == 200 and json_data['success'] == True:
+                if data and data.getcode() == 200:
+                    json_data = json.loads(data.read().decode(data.headers.get_content_charset()))
+                    if json_data['success'] == True:
                         return 0
                     else:
                         return 1
+                else:
+                    return 0
             else:
                 return 0
         else: