adding the unseen all option
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 4s

This commit is contained in:
2026-06-25 16:01:08 +01:00
parent 25b602a3b8
commit ad9c6c7a2a
3 changed files with 28 additions and 7 deletions
+6 -5
View File
@@ -2,7 +2,7 @@ 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 .utils import mark_episode_watched,unwatch_all_episodes
from import_export import resources
from import_export.admin import ImportExportModelAdmin
# Register your models here.
@@ -50,16 +50,17 @@ def make_unseen(modeladmin, request, queryset):
messages.SUCCESS,
)
@admin.action(description="create_entry")
def create_entry(modeladmin, request, queryset):
simpsons_data_object.create(season=2, episode=3, url="google.com", seen=True)
@admin.action(description="mark all of them as unseen on betaserie")
def unseen_betaserie(modeladmin, request, queryset):
unwatch_all_episodes()
@admin.register(SimpsonsData)
class EpisodeAdmin(ImportExportModelAdmin):
list_display = [field.name for field in SimpsonsData._meta.fields if field.name != 'id']
list_filter = ['seen']
fields = ['season', 'episode', 'url', 'seen']
actions = [make_seen,make_unseen,create_entry]
actions = [make_seen,make_unseen,unseen_betaserie]
def get_queryset(self, request):
return super().get_queryset(request).using(DB)
+15
View File
@@ -1,5 +1,8 @@
from apps.betaserie.utils import betaserieUtils
from django.db.models import Count
from celery.worker.state import active_requests
from requests.compat import str
from .models import simpsons_data_object
betaserie = betaserieUtils()
@@ -20,3 +23,15 @@ def mark_episode_watched(season,episode,action):
betaserie.unmark_episodes_watched(episode_id)
else:
print("Parameter action not in range")
def unwatch_all_episodes():
maximum_number_of_seasons = simpsons_data_object.aggregate(unique_season=Count('season', distinct=True))['unique_season']
print("maximum_number_of_seasons: "+str(maximum_number_of_seasons))
for season in range(1,maximum_number_of_seasons+1):
maximum_number_of_episodes = simpsons_data_object.filter(season=season).count()
print("maximum_number_of_episodes for "+str(season)+": "+str(maximum_number_of_episodes))
for episode in range(1,maximum_number_of_episodes+1):
print("S"+str(season)+"E"+str(episode))
mark_episode_watched(season,episode,"unwatched")
+6 -1
View File
@@ -1,7 +1,8 @@
from django.http import HttpResponse
from django.db.models import Count
from django.shortcuts import redirect
from apps.random_simpsons.models import SimpsonsData,simpsons_data_object
from .models import SimpsonsData,simpsons_data_object
from .utils import mark_episode_watched
import random
@@ -37,6 +38,9 @@ def episode_generator(request):
simpsons_data_object.filter(season=random_seasons, episode=random_episode).values('seen').update(seen=True)
#Mark episode as seen on betaseries
mark_episode_watched(random_seasons,random_episode,"watched")
return redirect(str(random_url))
def download_file(request):
@@ -60,3 +64,4 @@ def download_mo(request,file):
file_name = file[5:]
response['Content-Disposition'] = 'inline; filename=' + file_name
return response