send file_uuids to websocket

This commit is contained in:
Joel Mathew Thomas
2025-03-20 00:03:34 +05:30
parent 5fba3b42c5
commit 1cb3a1f197
2 changed files with 18 additions and 3 deletions
+10 -3
View File
@@ -5,6 +5,7 @@ from channels.generic.websocket import WebsocketConsumer
class MediaConsumer(WebsocketConsumer):
def connect(self):
self.accept()
self.file_uuid = [] # List to store file uuids
self.send(text_data=json.dumps({
"message": "Connected to WebSocket server!"
}))
@@ -12,11 +13,17 @@ class MediaConsumer(WebsocketConsumer):
def receive(self, text_data):
data = json.loads(text_data)
message = data.get("message", "")
if message == "ping":
# If message contains a file UUID, store it
if "file_uuid" in data:
uuid = data["file_uuid"]
self.file_uuid.append(uuid)
self.send(text_data=json.dumps({"response": f"UUID {uuid} stored."}))
elif message == "ping":
self.send(text_data=json.dumps({"response": "pong"}))
else:
self.send(text_data=json.dumps({"response": f"Received: {message}"}))
def disconnect(self, close_code):
print("Disconnected from Websocket")
print("Disconnected from Websocket")
print("Stored file UUIDs:", self.file_uuid)
+8
View File
@@ -16,12 +16,14 @@ import {
Movie as MovieIcon,
} from "@mui/icons-material";
import StepperComponent from "../components/StepperComponent";
import { useWebSocket } from "../contexts/WebSocketContext";
import { useMediaContext } from "../contexts/MediaContext";
import { formatLogMessage } from "../utils/logUtils";
function UploadPage() {
const navigate = useNavigate();
const theme = useTheme();
const { socket, isConnected } = useWebSocket();
const { setMediaFile, setResponse, response, setLogs } = useMediaContext();
const [file, setFile] = useState<File | null>(null);
const [isDragging, setIsDragging] = useState(false);
@@ -141,6 +143,12 @@ function UploadPage() {
spectrogram: res.data.spectrogram,
spec_sr: res.data.spec_sr
}));
if (socket && isConnected){
socket.send(JSON.stringify({ file_uuid: res.data.file_uuid }))
} else {
console.error("Websocket not connected!");
}
setUpload(true);
setLogs((prevLogs) => [...prevLogs, formatLogMessage(`freqsplit/input: Uploaded file successfully`)])
setLogs((prevLogs) => [...prevLogs, formatLogMessage(`freqsplit/input: file_uuid: ${res.data.file_uuid}`)])