From d74dd967af15f11f4728ca9bd48afe7105b4e3fb Mon Sep 17 00:00:00 2001 From: lebaudantoine Date: Fri, 11 Apr 2025 13:44:03 +0200 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F(backend)=20replace=20hardcod?= =?UTF-8?q?ed=20file=20extensions=20with=20Python=20enum?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Convert hardcoded string file extensions into a well-defined Python enum. Improves type safety and centralizes extension definitions for better maintainability and consistency across the codebase. It was dirty manipulating literals for file extension validation … --- src/backend/core/recording/enums.py | 10 ++++++++++ src/backend/core/recording/worker/services.py | 9 +++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 src/backend/core/recording/enums.py diff --git a/src/backend/core/recording/enums.py b/src/backend/core/recording/enums.py new file mode 100644 index 00000000..7bc2c1f4 --- /dev/null +++ b/src/backend/core/recording/enums.py @@ -0,0 +1,10 @@ +"""Enums related to recordings.""" + +from enum import Enum + + +class FileExtension(Enum): + """Enum for file extensions used in recordings.""" + + OGG = "ogg" + MP4 = "mp4" diff --git a/src/backend/core/recording/worker/services.py b/src/backend/core/recording/worker/services.py index 2fb229e5..548b4d21 100644 --- a/src/backend/core/recording/worker/services.py +++ b/src/backend/core/recording/worker/services.py @@ -7,6 +7,7 @@ from asgiref.sync import async_to_sync from livekit import api as livekit_api from livekit.api.egress_service import EgressService +from ..enums import FileExtension from .exceptions import WorkerConnectionError, WorkerResponseError from .factories import WorkerServiceConfig @@ -89,7 +90,9 @@ class VideoCompositeEgressService(BaseEgressService): # Save room's recording as a mp4 video file. file_type = livekit_api.EncodedFileType.MP4 - filepath = self._get_filepath(filename=recording_id, extension="mp4") + filepath = self._get_filepath( + filename=recording_id, extension=FileExtension.MP4.value + ) file_output = livekit_api.EncodedFileOutput( file_type=file_type, @@ -120,7 +123,9 @@ class AudioCompositeEgressService(BaseEgressService): # Save room's recording as an ogg audio file. file_type = livekit_api.EncodedFileType.OGG - filepath = self._get_filepath(filename=recording_id, extension="ogg") + filepath = self._get_filepath( + filename=recording_id, extension=FileExtension.OGG.value + ) file_output = livekit_api.EncodedFileOutput( file_type=file_type,