You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

83 lines
2.3 KiB

from flask import Flask, render_template, send_from_directory
from flask_socketio import SocketIO, emit
import os
import json
app = Flask(__name__)
app.config['SECRET_KEY'] = 'yigit007'
socketio = SocketIO(app)
src_path , file_list = "../server_side/api/modules/databases/",["denunciations","complaints","crashes"]
changed = {}
for file in file_list:
changed[file] = os.stat(os.path.join(src_path,file+".json"))
def file_check(file):
src = os.path.join(src_path,file+".json")
if changed[file] != os.stat(src):
print("[INFO]: Changed " + file)
changed[file] = os.stat(src)
with open(src,"r") as f:
json_data = json.loads(f.read())
return True,json.dumps(json_data)
return False,""
@socketio.on("check",namespace="/denunciations_socket")
def denunciation_handle(msg):
change,data = file_check("denunciations")
if change:
emit("new", data, namespace="/denunciations_socket")
@socketio.on('connect', namespace='/denunciations_socket')
def handle_my_custom_namespace_event():
print("[INFO]: Received socket connection!")
src = os.path.join(src_path,"denunciations.json")
with open(src,"r") as f:
json_data = json.loads(f.read())
emit("new", json.dumps(json_data), namespace="/denunciations_socket")
@socketio.on("check",namespace="/complaints_socket")
def compaint_handle(msg):
change,data = file_check("complaints")
if change:
emit("new", data, namespace="/complaints_socket")
@socketio.on('connect', namespace='/complaints_socket')
def handle_my_custom_namespace_event():
print("[INFO]: Received socket connection!")
src = os.path.join(src_path,"complaints.json")
with open(src,"r") as f:
json_data = json.loads(f.read())
emit("new", json.dumps(json_data), namespace="/complaints_socket")
@socketio.on('check', namespace='/crashes_socket')
def crash_handle(msg):
change, data = file_check("crashes")
if change:
emit("new", data, namespace='/crashes_socket')
@socketio.on('connect', namespace='/crashes_socket')
def handle_crash():
print("[INFO]: Received socket connection!")
src = os.path.join(src_path, 'crashes.json')
with open(src, 'r') as f:
json_data = json.loads(f.read())
emit("new", json.dumps(json_data), namespace="/crashes_socket")
@app.route('/gui/<path:path>')
def send_img(path):
return send_from_directory('interface/UserData', path)
if __name__ == '__main__':
socketio.run(app,host="0.0.0.0",port=4000,debug=True)