mirror of
https://github.com/FuzzyGrim/Yamtrack.git
synced 2026-03-03 03:07:01 +00:00
refactor: replace 'check' with 'condition' in CheckConstraints for clarity
This commit is contained in:
@@ -108,7 +108,7 @@ class Item(CalendarTriggerMixin, models.Model):
|
|||||||
),
|
),
|
||||||
# Enforces that season items must have a season number but no episode number
|
# Enforces that season items must have a season number but no episode number
|
||||||
CheckConstraint(
|
CheckConstraint(
|
||||||
check=Q(
|
condition=Q(
|
||||||
media_type=MediaTypes.SEASON.value,
|
media_type=MediaTypes.SEASON.value,
|
||||||
season_number__isnull=False,
|
season_number__isnull=False,
|
||||||
episode_number__isnull=True,
|
episode_number__isnull=True,
|
||||||
@@ -118,7 +118,7 @@ class Item(CalendarTriggerMixin, models.Model):
|
|||||||
),
|
),
|
||||||
# Enforces that episode items must have both season and episode numbers
|
# Enforces that episode items must have both season and episode numbers
|
||||||
CheckConstraint(
|
CheckConstraint(
|
||||||
check=Q(
|
condition=Q(
|
||||||
media_type=MediaTypes.EPISODE.value,
|
media_type=MediaTypes.EPISODE.value,
|
||||||
season_number__isnull=False,
|
season_number__isnull=False,
|
||||||
episode_number__isnull=False,
|
episode_number__isnull=False,
|
||||||
@@ -128,7 +128,7 @@ class Item(CalendarTriggerMixin, models.Model):
|
|||||||
),
|
),
|
||||||
# Prevents season/episode numbers from being set on non-TV media types
|
# Prevents season/episode numbers from being set on non-TV media types
|
||||||
CheckConstraint(
|
CheckConstraint(
|
||||||
check=Q(
|
condition=Q(
|
||||||
~Q(
|
~Q(
|
||||||
media_type__in=[
|
media_type__in=[
|
||||||
MediaTypes.SEASON.value,
|
MediaTypes.SEASON.value,
|
||||||
@@ -143,12 +143,12 @@ class Item(CalendarTriggerMixin, models.Model):
|
|||||||
),
|
),
|
||||||
# Validate source choices
|
# Validate source choices
|
||||||
CheckConstraint(
|
CheckConstraint(
|
||||||
check=Q(source__in=Sources.values),
|
condition=Q(source__in=Sources.values),
|
||||||
name="%(app_label)s_%(class)s_source_valid",
|
name="%(app_label)s_%(class)s_source_valid",
|
||||||
),
|
),
|
||||||
# Validate media_type choices
|
# Validate media_type choices
|
||||||
CheckConstraint(
|
CheckConstraint(
|
||||||
check=Q(media_type__in=MediaTypes.values),
|
condition=Q(media_type__in=MediaTypes.values),
|
||||||
name="%(app_label)s_%(class)s_media_type_valid",
|
name="%(app_label)s_%(class)s_media_type_valid",
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -206,8 +206,8 @@ def tv_with_seasons(media_id, season_numbers):
|
|||||||
season_key = f"season/{season_number}"
|
season_key = f"season/{season_number}"
|
||||||
if season_key not in response:
|
if season_key not in response:
|
||||||
msg = (
|
msg = (
|
||||||
f"Season {season_number} not found for {media_id} "
|
f"Season {season_number} not found in {Sources.TMDB.label} "
|
||||||
f"in {Sources.TMDB.label}."
|
f"with ID {media_id}."
|
||||||
)
|
)
|
||||||
# Create a new response object with 404 status
|
# Create a new response object with 404 status
|
||||||
not_found_response = requests.Response()
|
not_found_response = requests.Response()
|
||||||
|
|||||||
@@ -364,14 +364,12 @@ def sync_metadata(request, source, media_type, media_id, season_number=None):
|
|||||||
episodes_to_update.append(episode_item)
|
episodes_to_update.append(episode_item)
|
||||||
episode_count += 1
|
episode_count += 1
|
||||||
|
|
||||||
# Log before bulk update
|
|
||||||
logger.info(
|
logger.info(
|
||||||
"Found %s existing episodes to update for %s",
|
"Found %s existing episodes to update for %s",
|
||||||
episode_count,
|
episode_count,
|
||||||
title,
|
title,
|
||||||
)
|
)
|
||||||
|
|
||||||
# Bulk update existing episodes
|
|
||||||
if episodes_to_update:
|
if episodes_to_update:
|
||||||
updated_count = Item.objects.bulk_update(
|
updated_count = Item.objects.bulk_update(
|
||||||
episodes_to_update,
|
episodes_to_update,
|
||||||
|
|||||||
@@ -291,107 +291,107 @@ class User(AbstractUser):
|
|||||||
constraints = [
|
constraints = [
|
||||||
models.CheckConstraint(
|
models.CheckConstraint(
|
||||||
name="last_search_type_valid",
|
name="last_search_type_valid",
|
||||||
check=models.Q(last_search_type__in=VALID_SEARCH_TYPES),
|
condition=models.Q(last_search_type__in=VALID_SEARCH_TYPES),
|
||||||
),
|
),
|
||||||
models.CheckConstraint(
|
models.CheckConstraint(
|
||||||
name="home_sort_valid",
|
name="home_sort_valid",
|
||||||
check=models.Q(home_sort__in=HomeSortChoices.values),
|
condition=models.Q(home_sort__in=HomeSortChoices.values),
|
||||||
),
|
),
|
||||||
models.CheckConstraint(
|
models.CheckConstraint(
|
||||||
name="tv_layout_valid",
|
name="tv_layout_valid",
|
||||||
check=models.Q(tv_layout__in=LayoutChoices.values),
|
condition=models.Q(tv_layout__in=LayoutChoices.values),
|
||||||
),
|
),
|
||||||
models.CheckConstraint(
|
models.CheckConstraint(
|
||||||
name="season_layout_valid",
|
name="season_layout_valid",
|
||||||
check=models.Q(season_layout__in=LayoutChoices.values),
|
condition=models.Q(season_layout__in=LayoutChoices.values),
|
||||||
),
|
),
|
||||||
models.CheckConstraint(
|
models.CheckConstraint(
|
||||||
name="movie_layout_valid",
|
name="movie_layout_valid",
|
||||||
check=models.Q(movie_layout__in=LayoutChoices.values),
|
condition=models.Q(movie_layout__in=LayoutChoices.values),
|
||||||
),
|
),
|
||||||
models.CheckConstraint(
|
models.CheckConstraint(
|
||||||
name="anime_layout_valid",
|
name="anime_layout_valid",
|
||||||
check=models.Q(anime_layout__in=LayoutChoices.values),
|
condition=models.Q(anime_layout__in=LayoutChoices.values),
|
||||||
),
|
),
|
||||||
models.CheckConstraint(
|
models.CheckConstraint(
|
||||||
name="manga_layout_valid",
|
name="manga_layout_valid",
|
||||||
check=models.Q(manga_layout__in=LayoutChoices.values),
|
condition=models.Q(manga_layout__in=LayoutChoices.values),
|
||||||
),
|
),
|
||||||
models.CheckConstraint(
|
models.CheckConstraint(
|
||||||
name="game_layout_valid",
|
name="game_layout_valid",
|
||||||
check=models.Q(game_layout__in=LayoutChoices.values),
|
condition=models.Q(game_layout__in=LayoutChoices.values),
|
||||||
),
|
),
|
||||||
models.CheckConstraint(
|
models.CheckConstraint(
|
||||||
name="book_layout_valid",
|
name="book_layout_valid",
|
||||||
check=models.Q(book_layout__in=LayoutChoices.values),
|
condition=models.Q(book_layout__in=LayoutChoices.values),
|
||||||
),
|
),
|
||||||
models.CheckConstraint(
|
models.CheckConstraint(
|
||||||
name="tv_sort_valid",
|
name="tv_sort_valid",
|
||||||
check=models.Q(tv_sort__in=MediaSortChoices.values),
|
condition=models.Q(tv_sort__in=MediaSortChoices.values),
|
||||||
),
|
),
|
||||||
models.CheckConstraint(
|
models.CheckConstraint(
|
||||||
name="season_sort_valid",
|
name="season_sort_valid",
|
||||||
check=models.Q(season_sort__in=MediaSortChoices.values),
|
condition=models.Q(season_sort__in=MediaSortChoices.values),
|
||||||
),
|
),
|
||||||
models.CheckConstraint(
|
models.CheckConstraint(
|
||||||
name="movie_sort_valid",
|
name="movie_sort_valid",
|
||||||
check=models.Q(movie_sort__in=MediaSortChoices.values),
|
condition=models.Q(movie_sort__in=MediaSortChoices.values),
|
||||||
),
|
),
|
||||||
models.CheckConstraint(
|
models.CheckConstraint(
|
||||||
name="anime_sort_valid",
|
name="anime_sort_valid",
|
||||||
check=models.Q(anime_sort__in=MediaSortChoices.values),
|
condition=models.Q(anime_sort__in=MediaSortChoices.values),
|
||||||
),
|
),
|
||||||
models.CheckConstraint(
|
models.CheckConstraint(
|
||||||
name="manga_sort_valid",
|
name="manga_sort_valid",
|
||||||
check=models.Q(manga_sort__in=MediaSortChoices.values),
|
condition=models.Q(manga_sort__in=MediaSortChoices.values),
|
||||||
),
|
),
|
||||||
models.CheckConstraint(
|
models.CheckConstraint(
|
||||||
name="game_sort_valid",
|
name="game_sort_valid",
|
||||||
check=models.Q(game_sort__in=MediaSortChoices.values),
|
condition=models.Q(game_sort__in=MediaSortChoices.values),
|
||||||
),
|
),
|
||||||
models.CheckConstraint(
|
models.CheckConstraint(
|
||||||
name="book_sort_valid",
|
name="book_sort_valid",
|
||||||
check=models.Q(book_sort__in=MediaSortChoices.values),
|
condition=models.Q(book_sort__in=MediaSortChoices.values),
|
||||||
),
|
),
|
||||||
models.CheckConstraint(
|
models.CheckConstraint(
|
||||||
name="calendar_layout_valid",
|
name="calendar_layout_valid",
|
||||||
check=models.Q(calendar_layout__in=CalendarLayoutChoices.values),
|
condition=models.Q(calendar_layout__in=CalendarLayoutChoices.values),
|
||||||
),
|
),
|
||||||
models.CheckConstraint(
|
models.CheckConstraint(
|
||||||
name="lists_sort_valid",
|
name="lists_sort_valid",
|
||||||
check=models.Q(lists_sort__in=ListSortChoices.values),
|
condition=models.Q(lists_sort__in=ListSortChoices.values),
|
||||||
),
|
),
|
||||||
models.CheckConstraint(
|
models.CheckConstraint(
|
||||||
name="list_detail_sort_valid",
|
name="list_detail_sort_valid",
|
||||||
check=models.Q(list_detail_sort__in=ListDetailSortChoices.values),
|
condition=models.Q(list_detail_sort__in=ListDetailSortChoices.values),
|
||||||
),
|
),
|
||||||
models.CheckConstraint(
|
models.CheckConstraint(
|
||||||
name="tv_status_valid",
|
name="tv_status_valid",
|
||||||
check=models.Q(tv_status__in=MediaStatusChoices.values),
|
condition=models.Q(tv_status__in=MediaStatusChoices.values),
|
||||||
),
|
),
|
||||||
models.CheckConstraint(
|
models.CheckConstraint(
|
||||||
name="season_status_valid",
|
name="season_status_valid",
|
||||||
check=models.Q(season_status__in=MediaStatusChoices.values),
|
condition=models.Q(season_status__in=MediaStatusChoices.values),
|
||||||
),
|
),
|
||||||
models.CheckConstraint(
|
models.CheckConstraint(
|
||||||
name="movie_status_valid",
|
name="movie_status_valid",
|
||||||
check=models.Q(movie_status__in=MediaStatusChoices.values),
|
condition=models.Q(movie_status__in=MediaStatusChoices.values),
|
||||||
),
|
),
|
||||||
models.CheckConstraint(
|
models.CheckConstraint(
|
||||||
name="anime_status_valid",
|
name="anime_status_valid",
|
||||||
check=models.Q(anime_status__in=MediaStatusChoices.values),
|
condition=models.Q(anime_status__in=MediaStatusChoices.values),
|
||||||
),
|
),
|
||||||
models.CheckConstraint(
|
models.CheckConstraint(
|
||||||
name="manga_status_valid",
|
name="manga_status_valid",
|
||||||
check=models.Q(manga_status__in=MediaStatusChoices.values),
|
condition=models.Q(manga_status__in=MediaStatusChoices.values),
|
||||||
),
|
),
|
||||||
models.CheckConstraint(
|
models.CheckConstraint(
|
||||||
name="game_status_valid",
|
name="game_status_valid",
|
||||||
check=models.Q(game_status__in=MediaStatusChoices.values),
|
condition=models.Q(game_status__in=MediaStatusChoices.values),
|
||||||
),
|
),
|
||||||
models.CheckConstraint(
|
models.CheckConstraint(
|
||||||
name="book_status_valid",
|
name="book_status_valid",
|
||||||
check=models.Q(book_status__in=MediaStatusChoices.values),
|
condition=models.Q(book_status__in=MediaStatusChoices.values),
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user