Commit c5e7c8c52858486988f7c026c1cd92af7ffd2ee8
1 parent
22654c8e
Exists in
devel
[TranslationServer] Modifica rota de download de bundles
Showing
1 changed file
with
13 additions
and
17 deletions
Show diff stats
src/TranslationServer.py
1 | #!/usr/bin/python | 1 | #!/usr/bin/python |
2 | # -*- coding: utf-8 -*- | 2 | # -*- coding: utf-8 -*- |
3 | 3 | ||
4 | -from flask import Flask, request, send_file, abort | 4 | +from flask import Flask, request, abort, send_from_directory |
5 | from functools import wraps | 5 | from functools import wraps |
6 | from PortGlosa import traduzir | 6 | from PortGlosa import traduzir |
7 | from subprocess import check_output | 7 | from subprocess import check_output |
@@ -103,7 +103,7 @@ def update_platform_db(platform_name): | @@ -103,7 +103,7 @@ def update_platform_db(platform_name): | ||
103 | cursor.execute(query_string, (platform_name)); | 103 | cursor.execute(query_string, (platform_name)); |
104 | conn.commit() | 104 | conn.commit() |
105 | 105 | ||
106 | -def update_statistic(sign_name, sign_type, file_exists): | 106 | +def update_statistic(sign_name, platform_name, file_exists): |
107 | if RUN_MODE == "full": | 107 | if RUN_MODE == "full": |
108 | with lock: | 108 | with lock: |
109 | has = "YES" if file_exists else "NO" | 109 | has = "YES" if file_exists else "NO" |
@@ -112,16 +112,7 @@ def update_statistic(sign_name, sign_type, file_exists): | @@ -112,16 +112,7 @@ def update_statistic(sign_name, sign_type, file_exists): | ||
112 | insert_sign_db(sign_name, 1, has) | 112 | insert_sign_db(sign_name, 1, has) |
113 | else: | 113 | else: |
114 | update_sign_db(sign_name, value_sign_name+1, has) | 114 | update_sign_db(sign_name, value_sign_name+1, has) |
115 | - update_platform_db(sign_type) | ||
116 | - | ||
117 | -def check_sign(sign_name, sign_type): | ||
118 | - if " " in sign_name or sign_type not in BUNDLES_PATH: abort(400) | ||
119 | - bundle_path = os.path.join(BUNDLES_PATH[sign_type], sign_name) | ||
120 | - file_exists = os.path.exists(bundle_path) | ||
121 | - thread.start_new_thread(update_statistic, (sign_name, sign_type, file_exists)) | ||
122 | - if file_exists: | ||
123 | - return send_file(bundle_path, as_attachment=True) | ||
124 | - abort(404) | 115 | + update_platform_db(platform_name) |
125 | 116 | ||
126 | @app.route("/translate", methods=['GET']) | 117 | @app.route("/translate", methods=['GET']) |
127 | def translate(): | 118 | def translate(): |
@@ -135,12 +126,17 @@ def load_statistics_page(): | @@ -135,12 +126,17 @@ def load_statistics_page(): | ||
135 | php_output = check_output(["php", page_path]) | 126 | php_output = check_output(["php", page_path]) |
136 | return php_output | 127 | return php_output |
137 | 128 | ||
138 | -@app.route("/sign", methods=['GET']) | 129 | +@app.route("/<platform>/<sign>", methods=['GET']) |
139 | @check_run_mode | 130 | @check_run_mode |
140 | -def get_sign(): | ||
141 | - sign_name = request.args.get('name').encode("UTF-8").upper() | ||
142 | - sign_type = request.args.get('platform').encode("UTF-8").upper() | ||
143 | - return check_sign(sign_name, sign_type) | 131 | +def get_sign(platform, sign): |
132 | + if " " in sign or platform not in BUNDLES_PATH: abort(400) | ||
133 | + path = BUNDLES_PATH[platform] | ||
134 | + bundle_path = os.path.join(path, sign) | ||
135 | + file_exists = os.path.exists(os.path.join(path, sign)) | ||
136 | + thread.start_new_thread(update_statistic, (sign, platform, file_exists)) | ||
137 | + if file_exists: | ||
138 | + return send_from_directory(BUNDLES_PATH[platform], sign) | ||
139 | + abort(404) | ||
144 | 140 | ||
145 | if __name__ == "__main__": | 141 | if __name__ == "__main__": |
146 | parser = argparse.ArgumentParser(description='Translation server and signs download for VLibras.') | 142 | parser = argparse.ArgumentParser(description='Translation server and signs download for VLibras.') |