From 60accdc6185ea2a4eb8268c4e1ea2f996cd0e7a2 Mon Sep 17 00:00:00 2001 From: Bastiaan Welmers Date: Wed, 6 Apr 2022 19:51:41 +0200 Subject: [PATCH] Add get_transcoding_type_by_name() --- .../models/test_get_transcoding_type_by_name.py | 15 +++++++++++++++ videodinges/models.py | 5 +++++ 2 files changed, 20 insertions(+) create mode 100644 tests/videodinges/unit/models/test_get_transcoding_type_by_name.py diff --git a/tests/videodinges/unit/models/test_get_transcoding_type_by_name.py b/tests/videodinges/unit/models/test_get_transcoding_type_by_name.py new file mode 100644 index 0000000..180fa6c --- /dev/null +++ b/tests/videodinges/unit/models/test_get_transcoding_type_by_name.py @@ -0,0 +1,15 @@ +from django.test import SimpleTestCase +from videodinges.models import get_transcoding_type_by_name + +class GetTranscodingTypeByNameTestCase(SimpleTestCase): + + def test_returns_transcoding_type_if_listed(self): + result = get_transcoding_type_by_name('video/webm; codecs="vp9, opus"') + self.assertEqual(result.name, 'video/webm; codecs="vp9, opus"') + self.assertEqual(result.short_name, 'vp9') + self.assertEqual(result.description, 'WebM with VP9 and Opus') + self.assertEqual(result.priority, 100) + + def test_returns_none_if_not_listed(self): + result = get_transcoding_type_by_name('non-existent') + self.assertIsNone(result) diff --git a/videodinges/models.py b/videodinges/models.py index 7b71324..a788574 100644 --- a/videodinges/models.py +++ b/videodinges/models.py @@ -143,6 +143,11 @@ def get_quality_by_name(name: str) -> Optional[Quality]: if quality.name == name: return quality +def get_transcoding_type_by_name(name: str) -> Optional[TranscodingType]: + for t in transcoding_types: + if t.name == name: + return t + def get_short_name_of_transcoding_type(transcoding_type: Union[str, TranscodingType]) -> str: if isinstance(transcoding_type, str): for type_ in transcoding_types: