add options for the admin page
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 5s

This commit is contained in:
2026-06-25 13:56:25 +01:00
parent e76fb6684c
commit ed70f03a83
2 changed files with 37 additions and 0 deletions
+15
View File
@@ -1,6 +1,8 @@
from django.contrib import admin,messages
from django.utils.translation import ngettext
from prompt_toolkit.shortcuts import print_container
from .models import SimpsonsData,simpsons_data_object
from .utils import mark_episode_watched
from import_export import resources
from import_export.admin import ImportExportModelAdmin
# Register your models here.
@@ -10,6 +12,13 @@ DB = 'simpsons_db'
@admin.action(description="Mark episode as seen")
def make_seen(modeladmin, request, queryset):
updated = queryset.update(seen="True")
for query in queryset.values():
print(query)
season_number = query.get('season')
episode_number = query.get('episode')
mark_episode_watched(season_number,episode_number,"watched")
modeladmin.message_user(
request,
ngettext(
@@ -24,6 +33,12 @@ def make_seen(modeladmin, request, queryset):
@admin.action(description="Mark episode as not seen")
def make_unseen(modeladmin, request, queryset):
updated = queryset.update(seen="False")
for query in queryset.values():
print(query)
season_number = query.get('season')
episode_number = query.get('episode')
mark_episode_watched(season_number,episode_number,"unwatched")
modeladmin.message_user(
request,
ngettext(
+22
View File
@@ -0,0 +1,22 @@
from apps.betaserie.utils import betaserieUtils
from celery.worker.state import active_requests
betaserie = betaserieUtils()
simpsons_id = 12
def mark_episode_watched(season,episode,action):
print("season_number: "+str(season))
print("episode_number: "+str(episode))
episode_number = "S"+str(season)+"E"+str(episode)
episode_id = betaserie.identify_episode(simpsons_id,episode_number)
if action == "watched":
betaserie.mark_episodes_watched(episode_id)
elif action == "unwatched":
betaserie.unmark_episodes_watched(episode_id)
else:
print("Parameter action not in range")