98 lines
2.3 KiB
Python
98 lines
2.3 KiB
Python
from flask import Flask, render_template, request, jsonify
|
|
import datetime
|
|
import time
|
|
|
|
app = Flask(__name__)
|
|
|
|
# хэндлеры ошибок
|
|
|
|
def file_logger(err_code, time, ifRequest):
|
|
with open('errLogger.txt', 'a') as r:
|
|
if err_code != 0:
|
|
r.write(f"Error {time} {err_code}\n")
|
|
else:
|
|
r.write(f"{time} {ifRequest}\n")
|
|
r.close()
|
|
|
|
|
|
@app.errorhandler(404)
|
|
def page_not_found(error):
|
|
'''handle 404'''
|
|
file_logger(error, datetime.datetime.now(), 'not a request')
|
|
return render_template('404.html'), 404
|
|
|
|
|
|
@app.errorhandler(500)
|
|
def internal_error(error):
|
|
'''handle 500'''
|
|
file_logger(error, datetime.datetime.now(), 'not a request')
|
|
return render_template('500.html'), 500
|
|
|
|
|
|
@app.errorhandler(429)
|
|
def request_timeout_error(error):
|
|
'''handle 429'''
|
|
file_logger(error, datetime.datetime.now(), 'not a request')
|
|
return render_template('408.html'), 429
|
|
|
|
|
|
@app.errorhandler(408)
|
|
def request_timeout_error(error):
|
|
'''handle 408'''
|
|
file_logger(error, datetime.datetime.now(), 'not a request')
|
|
return render_template('408.html'), 429
|
|
|
|
|
|
@app.errorhandler(Exception)
|
|
def internal_error(error):
|
|
'''handle unmatched'''
|
|
file_logger(error, datetime.datetime.now(), 'not a request')
|
|
return render_template('500.html'), 500
|
|
|
|
# основные маршруты
|
|
|
|
@app.route("/")
|
|
def ind():
|
|
return render_template('zayavka.html')
|
|
|
|
|
|
@app.route("/process", methods=['GET', 'POST'])
|
|
def prcs():
|
|
if request.method == 'POST':
|
|
try:
|
|
data22 = request.get_json()
|
|
print(data22)
|
|
except Exception as e:
|
|
print(f"Error: {e}.")
|
|
return render_template('zayavka.html')
|
|
|
|
|
|
@app.route("/sucseed")
|
|
def s():
|
|
try:
|
|
data223 = request.get_json()
|
|
print(data223)
|
|
except Exception as e:
|
|
print(f"Error: {e}.")
|
|
return render_template("end.html")
|
|
|
|
|
|
@app.route("/OK")
|
|
def ok():
|
|
return render_template("ok.html")
|
|
|
|
|
|
@app.route("/sendedData", methods=['POST'])
|
|
def answer():
|
|
try:
|
|
data223 = request.get_json()
|
|
print(data223)
|
|
time.sleep(3)
|
|
return jsonify({"status": "sucsess"})
|
|
except Exception as e:
|
|
print(f"Error: {e}")
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
app.run(debug=True, port=4321) |