From 6cba603d9ca514ae1e7ae518e043a81b1b3c27cb Mon Sep 17 00:00:00 2001 From: Felix Stupp Date: Sat, 25 Mar 2023 15:40:39 +0100 Subject: [PATCH] Define a set of predefined tags (video, movie, series) --- .../entertainment_decider/models/__init__.py | 6 ++++ .../models/predefined_tags.py | 36 +++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 server/entertainment_decider/models/predefined_tags.py diff --git a/server/entertainment_decider/models/__init__.py b/server/entertainment_decider/models/__init__.py index f7f3ed6..942408a 100644 --- a/server/entertainment_decider/models/__init__.py +++ b/server/entertainment_decider/models/__init__.py @@ -22,6 +22,12 @@ from .entities import ( update_element_lookup_cache, ) +from .predefined_tags import ( + predefined_movie_tag, + predefined_series_tag, + predefined_video_tag, +) + from .thumbnails import ( thumbnail_sort_key, ) diff --git a/server/entertainment_decider/models/predefined_tags.py b/server/entertainment_decider/models/predefined_tags.py new file mode 100644 index 0000000..8f451cb --- /dev/null +++ b/server/entertainment_decider/models/predefined_tags.py @@ -0,0 +1,36 @@ +from __future__ import annotations + +from .entities import ( + Tag, + TagKey, +) + + +def predefined_video_tag() -> Tag: + return TagKey.get_or_create_tag( + tag_key=".kind/video", + title="Video", + use_for_preferences=True, + ) + + +def predefined_movie_tag() -> Tag: + return TagKey.get_or_create_tag( + tag_key=".kind/video/movie", + title="Movie", + use_for_preferences=True, + super_tags=[ + predefined_video_tag(), + ], + ) + + +def predefined_series_tag() -> Tag: + return TagKey.get_or_create_tag( + tag_key=".kind/video/series", + title="Series", + use_for_preferences=True, + super_tags=[ + predefined_video_tag(), + ], + )