From 3fa77ea44d5fe5365db4dcefcb26bffd10aa0e1d Mon Sep 17 00:00:00 2001 From: ABBOUD Moncef Date: Mon, 13 May 2024 15:58:01 +0200 Subject: [PATCH] feat: add a nontranslated status video field (#33939) --- .../contentstore/video_storage_handlers.py | 12 +++++++----- .../contentstore/views/tests/test_videos.py | 9 +++++---- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/cms/djangoapps/contentstore/video_storage_handlers.py b/cms/djangoapps/contentstore/video_storage_handlers.py index ce3fe43461..8d5e639e25 100644 --- a/cms/djangoapps/contentstore/video_storage_handlers.py +++ b/cms/djangoapps/contentstore/video_storage_handlers.py @@ -173,9 +173,8 @@ class StatusDisplayStrings: @staticmethod def get(val_status): - """Map a VAL status string to a localized display string""" - # pylint: disable=translation-of-non-string - return _(StatusDisplayStrings._STATUS_MAP.get(val_status, StatusDisplayStrings._UNKNOWN)) + """Map a VAL status string to a display string""" + return StatusDisplayStrings._STATUS_MAP.get(val_status, StatusDisplayStrings._UNKNOWN) def handle_videos(request, course_key_string, edx_video_id=None): @@ -657,7 +656,10 @@ def _get_videos(course, pagination_conf=None): language_code=language_code, ) # Convert the video status. - video['status'] = convert_video_status(video, is_video_encodes_ready) + # Legacy frontend expects the status to be translated unlike MFEs which handle translation themselves. + video['status_nontranslated'] = convert_video_status(video, is_video_encodes_ready) + # pylint: disable=translation-of-non-string + video['status'] = _(video['status_nontranslated']) return videos, pagination_context @@ -675,7 +677,7 @@ def _get_index_videos(course, pagination_conf=None): """ course_id = str(course.id) attrs = [ - 'edx_video_id', 'client_video_id', 'created', 'duration', + 'edx_video_id', 'client_video_id', 'created', 'duration', 'status_nontranslated', 'status', 'courses', 'encoded_videos', 'transcripts', 'transcription_status', 'transcript_urls', 'error_description' ] diff --git a/cms/djangoapps/contentstore/views/tests/test_videos.py b/cms/djangoapps/contentstore/views/tests/test_videos.py index 2e6e6aef25..5d96e6797d 100644 --- a/cms/djangoapps/contentstore/views/tests/test_videos.py +++ b/cms/djangoapps/contentstore/views/tests/test_videos.py @@ -367,6 +367,7 @@ class VideosHandlerTestCase( 'created', 'duration', 'status', + 'status_nontranslated', 'course_video_image_url', 'file_size', 'download_link', @@ -388,8 +389,8 @@ class VideosHandlerTestCase( ( [ 'edx_video_id', 'client_video_id', 'created', 'duration', - 'status', 'course_video_image_url', 'file_size', 'download_link', - 'transcripts', 'transcription_status', 'transcript_urls', + 'status', 'status_nontranslated', 'course_video_image_url', 'file_size', + 'download_link', 'transcripts', 'transcription_status', 'transcript_urls', 'error_description' ], [ @@ -406,8 +407,8 @@ class VideosHandlerTestCase( ( [ 'edx_video_id', 'client_video_id', 'created', 'duration', - 'status', 'course_video_image_url', 'file_size', 'download_link', - 'transcripts', 'transcription_status', 'transcript_urls', + 'status', 'status_nontranslated', 'course_video_image_url', 'file_size', + 'download_link', 'transcripts', 'transcription_status', 'transcript_urls', 'error_description' ], [