From 346b3fc40a470a79788db7c02ce3709d51993c48 Mon Sep 17 00:00:00 2001 From: Karma Riuk Date: Tue, 20 May 2025 11:53:29 +0200 Subject: [PATCH] moved uuid2subject inside subject as it made more sense --- src/routes/answers.py | 8 ++++---- src/server.py | 4 ++-- src/utils/observer.py | 4 +--- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/src/routes/answers.py b/src/routes/answers.py index 08cc364..f955bfa 100644 --- a/src/routes/answers.py +++ b/src/routes/answers.py @@ -3,7 +3,7 @@ from typing import Callable from flask import Blueprint, request, jsonify, current_app, url_for from utils.errors import InvalidJsonFormatError from utils.process_data import evaluate_comments, evaluate_refinement -from utils.observer import SocketObserver, Status, Subject, uuid2subject +from utils.observer import SocketObserver, Status, Subject import functools import json, uuid @@ -64,7 +64,7 @@ def handler(type_: str, validate_json: Callable, evaluate_submission: Callable): process_id = str(uuid.uuid4()) subject = Subject(process_id, type_, evaluate_submission) - uuid2subject[process_id] = subject + Subject.uuid2subject[process_id] = subject QUEUE_MANAGER.submit(subject, validated) url = url_for(f".status", id=process_id, _external=True) @@ -91,10 +91,10 @@ def submit_comments(task): @router.route('/status/') def status(id): - if id not in uuid2subject: + if id not in Subject.uuid2subject: return jsonify({"error": "Id doens't exist", "message": f"Id {id} doesn't exist"}), 404 - subject = uuid2subject[id] + subject = Subject.uuid2subject[id] if subject.status == Status.COMPLETE: return jsonify({"status": "complete", "type": subject.type, "results": subject.results}) diff --git a/src/server.py b/src/server.py index 5f73868..64a5e2b 100644 --- a/src/server.py +++ b/src/server.py @@ -2,7 +2,7 @@ from flask import Flask, request from flask_cors import CORS from flask_socketio import SocketIO -from utils.observer import Status, uuid2subject +from utils.observer import Status, Subject from routes.index import router as index_router from routes.answers import QUEUE_MANAGER, router as answers_router from routes.datasets import router as datasets_router @@ -49,7 +49,7 @@ def init_socketio(app): def on_get_queue_position(data): sid = request.sid # type: ignore subject_id = data["uuid"] - subject = uuid2subject[subject_id] + subject = Subject.uuid2subject[subject_id] if subject.status == Status.WAITING: return socketio.emit( 'queue_position', diff --git a/src/utils/observer.py b/src/utils/observer.py index ace4390..2b91c9b 100644 --- a/src/utils/observer.py +++ b/src/utils/observer.py @@ -47,6 +47,7 @@ class SocketObserver(Observer): class Subject: obs2subject: dict[Observer, "Subject"] = {} + uuid2subject: dict[str, "Subject"] = {} def __init__(self, id: str, type_: str, task: Callable) -> None: self.id = id @@ -83,6 +84,3 @@ class Subject: self.observers.clear() self.results = results # TODO: maybe save results to disk here? - - -uuid2subject: dict[str, Subject] = {}