testing #14
@@ -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)
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -19,4 +22,16 @@ def mark_episode_watched(season,episode,action):
|
||||
elif action == "unwatched":
|
||||
betaserie.unmark_episodes_watched(episode_id)
|
||||
else:
|
||||
print("Parameter action not in range")
|
||||
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")
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -36,6 +37,9 @@ def episode_generator(request):
|
||||
# It will still update an already seem episode but it works and I'm lazy
|
||||
|
||||
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))
|
||||
|
||||
@@ -60,3 +64,4 @@ def download_mo(request,file):
|
||||
file_name = file[5:]
|
||||
response['Content-Disposition'] = 'inline; filename=' + file_name
|
||||
return response
|
||||
|
||||
|
||||
Reference in New Issue
Block a user