Merge pull request 'testing' (#20) from testing into main
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3m36s

Reviewed-on: #20
This commit was merged in pull request #20.
This commit is contained in:
2026-07-05 13:51:01 +00:00
9 changed files with 108 additions and 7 deletions
+5 -2
View File
@@ -5,13 +5,14 @@ from .models import SimpsonsData,simpsons_data_object
from .utils import mark_episode_watched,unwatch_all_episodes,generate_new_urls_for_episode
from import_export import resources
from import_export.admin import ImportExportModelAdmin
from django.utils import timezone
# Register your models here.
DB = 'simpsons_db'
@admin.action(description="Mark episode as seen")
def make_seen(modeladmin, request, queryset):
updated = queryset.update(seen="True")
updated = queryset.update(seen="True",modified_at=timezone.now())
for query in queryset.values():
print(query)
@@ -63,9 +64,11 @@ def generate_new_urls(modeladmin, request, queryset):
@admin.register(SimpsonsData)
class EpisodeAdmin(ImportExportModelAdmin):
list_display = [field.name for field in SimpsonsData._meta.fields if field.name != 'id']
list_filter = ['seen']
list_filter = ['seen','modified_at']
#list_filter = ['seen']
fields = ['season', 'episode', 'url', 'seen']
actions = [make_seen,make_unseen,unseen_betaserie,generate_new_urls]
search_fields = ['season', 'episode', 'url', 'seen']
def get_queryset(self, request):
return super().get_queryset(request).using(DB)
@@ -0,0 +1,18 @@
# Generated by Django 4.2.29 on 2026-07-05 13:32
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('simpsons', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='simpsonsdata',
name='modified_at',
field=models.DateTimeField(auto_now=True),
),
]
@@ -0,0 +1,19 @@
# Generated by Django 4.2.29 on 2026-07-05 13:40
import datetime
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('simpsons', '0002_simpsonsdata_modified_at'),
]
operations = [
migrations.AlterField(
model_name='simpsonsdata',
name='modified_at',
field=models.DateTimeField(default=datetime.datetime(1970, 1, 1, 0, 0)),
),
]
@@ -0,0 +1,17 @@
# Generated by Django 4.2.29 on 2026-07-05 13:43
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('simpsons', '0003_alter_simpsonsdata_modified_at'),
]
operations = [
migrations.RemoveField(
model_name='simpsonsdata',
name='modified_at',
),
]
@@ -0,0 +1,19 @@
# Generated by Django 4.2.29 on 2026-07-05 13:43
import datetime
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('simpsons', '0004_remove_simpsonsdata_modified_at'),
]
operations = [
migrations.AddField(
model_name='simpsonsdata',
name='modified_at',
field=models.DateTimeField(default=datetime.datetime(1970, 1, 1, 0, 0)),
),
]
+2 -1
View File
@@ -1,11 +1,12 @@
from django.db import models
from datetime import datetime
class SimpsonsData(models.Model):
season = models.IntegerField()
episode = models.IntegerField()
url = models.CharField(max_length=1000)
seen = models.BooleanField()
modified_at = models.DateTimeField(default=datetime.fromtimestamp(0))
class Meta:
db_table = 'episodes'
+2 -1
View File
@@ -2,6 +2,7 @@ from django.db.models import Count
from django.core.exceptions import MultipleObjectsReturned
from celery.worker.state import active_requests
from requests.compat import str
from django.utils import timezone
from apps.betaserie.utils import betaserieUtils
from .models import simpsons_data_object
@@ -12,7 +13,7 @@ simpsons_id = 12
def mark_episode_watched(season,episode,action,verbose=False):
#mark episode as seen in DB
simpsons_data_object.filter(season=season, episode=episode).values('seen').update(seen=True)
simpsons_data_object.filter(season=season, episode=episode).values('seen').update(seen=True,modified_at=timezone.now())
if verbose : print("season_number: "+str(season))
+8 -3
View File
@@ -11,18 +11,23 @@ def hello(request):
def episode_generator(request):
boolean_restart = True;
simpsons_object = {}
while (boolean_restart):
maximum_number_of_seasons = simpsons_data_object.aggregate(unique_season=Count('season', distinct=True))['unique_season']
random_season = random.randint(1, maximum_number_of_seasons)
print("random season: " + str(random_season))
maximum_number_of_episodes = simpsons_data_object.filter(season=random_season).count()
simpsons_object = simpsons_data_object.filter(season=random_season)
maximum_number_of_episodes = simpsons_object.count()
random_episode = random.randint(1, maximum_number_of_episodes)
print("random episode: " + str(random_episode))
simpsons_object = simpsons_object.filter(episode=random_episode)
episode_seen = simpsons_data_object.filter(season=random_season, episode=random_episode).values('seen')[0]['seen']
episode_seen = simpsons_object.values('seen')[0]['seen']
if not(episode_seen):
boolean_restart = False
@@ -42,7 +47,7 @@ def episode_generator(request):
)
thread.start()
random_url = simpsons_data_object.filter(season=random_season, episode=random_episode).values('url')[0]['url']
random_url = simpsons_object.values('url')[0]['url']
return redirect(str(random_url))
@@ -0,0 +1,18 @@
# Generated by Django 4.2.29 on 2026-07-05 13:32
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('redirect', '0001_initial'),
]
operations = [
migrations.AlterField(
model_name='redirectdata',
name='addedDate',
field=models.DateField(auto_now_add=True, null=True, verbose_name='Published'),
),
]