diff --git a/app.py b/app.py index 0b76747..aa31d8f 100644 --- a/app.py +++ b/app.py @@ -168,11 +168,12 @@ def get_image(): @app.route("/api/release_allocation", methods=['POST']) def release_allocation(): try: - id_allocation = db.get_conf_id_name(request.headers['name']+".squashfs") + id_allocation = db.get_conf_id_name( + request.headers['name']+".squashfs") if id_allocation is None or id_allocation == "": return jsonify(message="400") except: - pass + return jsonify(message="400") if id_allocation is not None: db.del_image_allocation_id_image(id_allocation) else: diff --git a/utils.py b/utils.py index 7a6d2af..709bb71 100644 --- a/utils.py +++ b/utils.py @@ -10,17 +10,21 @@ from time import sleep import db import config + def generate_random_string(length): letters = string.ascii_letters random_string = ''.join(random.choice(letters) for i in range(length)) return random_string + def hash_password(password): return hashlib.sha512(password.encode('utf-8')).hexdigest() + def generate_auth_token(): return secrets.token_urlsafe(32) + def ping_client(ip): response = os.system("ping -c 1 " + ip + "> /dev/null") @@ -28,12 +32,12 @@ def ping_client(ip): return True else: return False - def ssh_thread_function(): - subprocess.run(['wssh','--fbidhttp=False', '--port='+config.webssh_port]) - + subprocess.run(['wssh', '--fbidhttp=False', '--port='+config.webssh_port]) + + def check_allocation_thread_function(): while True: ids = db.get_image_allocation_all() @@ -41,14 +45,16 @@ def check_allocation_thread_function(): ip = db.get_image_allocation_clientip_id(x[0]) ping_thread = PingThread(ip, x[0]) ping_thread.start() - + sleep(10) - + + class PingThread(threading.Thread): def __init__(self, ip, id): super(PingThread, self).__init__() self.Ip = ip self.Id = id + def run(self): if self.Ip is None: return @@ -57,14 +63,16 @@ class PingThread(threading.Thread): if date is None: return delta = datetime.datetime.now() - date - if delta.total_seconds() > 30: + if delta.total_seconds() > 30: db.del_image_allocation_id(self.Id) else: db.update_image_allocation_time(self.Id) - -def init_threads(): + + +def init_threads(): ssh_thread = threading.Thread(target=ssh_thread_function) ssh_thread.start() - allocation_thread = threading.Thread(target=check_allocation_thread_function) - allocation_thread.start() \ No newline at end of file + allocation_thread = threading.Thread( + target=check_allocation_thread_function) + allocation_thread.start()