diff --git a/django_code/apps/random_simpsons/admin.py b/django_code/apps/random_simpsons/admin.py index 84646f9..21d1ff5 100644 --- a/django_code/apps/random_simpsons/admin.py +++ b/django_code/apps/random_simpsons/admin.py @@ -1,7 +1,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 .models import SimpsonsData,simpsons_data_object,urlData 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 @@ -81,3 +81,17 @@ class EpisodeAdmin(ImportExportModelAdmin): def delete_queryset(self, request, queryset): queryset.using(DB).delete() + +@admin.register(urlData) +class urldataAdmin(ImportExportModelAdmin): + list_display = ('url_example', 'prefix', 'infix', 'suffix','addedDate') + + + fieldsets = [ + ( + None, + { + 'fields': (('prefix', 'infix', 'suffix'), 'url_example') + }, + ) + ] \ No newline at end of file diff --git a/django_code/apps/random_simpsons/migrations/0005_simpsonsdata_modified_at.py b/django_code/apps/random_simpsons/migrations/0005_simpsonsdata_modified_at.py index e53697d..cab3934 100644 --- a/django_code/apps/random_simpsons/migrations/0005_simpsonsdata_modified_at.py +++ b/django_code/apps/random_simpsons/migrations/0005_simpsonsdata_modified_at.py @@ -1,4 +1,4 @@ -# Generated by Django 4.2.29 on 2026-07-05 13:43 +# Generated by Django 4.2.30 on 2026-07-07 08:35 import datetime from django.db import migrations, models diff --git a/django_code/apps/random_simpsons/migrations/0006_urldata.py b/django_code/apps/random_simpsons/migrations/0006_urldata.py new file mode 100644 index 0000000..ef71e75 --- /dev/null +++ b/django_code/apps/random_simpsons/migrations/0006_urldata.py @@ -0,0 +1,27 @@ +# Generated by Django 4.2.30 on 2026-07-07 08:40 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('simpsons', '0005_simpsonsdata_modified_at'), + ] + + operations = [ + migrations.CreateModel( + name='urlData', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('url_example', models.CharField(max_length=1000)), + ('prefix', models.CharField(max_length=1000)), + ('infix', models.CharField(max_length=1000)), + ('suffix', models.CharField(max_length=1000)), + ('addedDate', models.DateField(auto_now_add=True, null=True, verbose_name='Published')), + ], + options={ + 'db_table': 'redirectUrl', + }, + ), + ] diff --git a/django_code/apps/random_simpsons/migrations/0007_alter_urldata_infix_alter_urldata_prefix_and_more.py b/django_code/apps/random_simpsons/migrations/0007_alter_urldata_infix_alter_urldata_prefix_and_more.py new file mode 100644 index 0000000..52ffaae --- /dev/null +++ b/django_code/apps/random_simpsons/migrations/0007_alter_urldata_infix_alter_urldata_prefix_and_more.py @@ -0,0 +1,28 @@ +# Generated by Django 4.2.30 on 2026-07-07 08:59 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('simpsons', '0006_urldata'), + ] + + operations = [ + migrations.AlterField( + model_name='urldata', + name='infix', + field=models.CharField(help_text='8&episode=', max_length=1000), + ), + migrations.AlterField( + model_name='urldata', + name='prefix', + field=models.CharField(help_text='https://www.1shows.org/tv/456-the-simpsons?streaming=true&season=', max_length=1000), + ), + migrations.AlterField( + model_name='urldata', + name='url_example', + field=models.CharField(help_text='https://www.1shows.org/tv/456-the-simpsons?streaming=true&season=18&episode=5', max_length=1000), + ), + ] diff --git a/django_code/apps/random_simpsons/migrations/0008_alter_simpsonsdata_modified_at_alter_urldata_infix_and_more.py b/django_code/apps/random_simpsons/migrations/0008_alter_simpsonsdata_modified_at_alter_urldata_infix_and_more.py new file mode 100644 index 0000000..a37f010 --- /dev/null +++ b/django_code/apps/random_simpsons/migrations/0008_alter_simpsonsdata_modified_at_alter_urldata_infix_and_more.py @@ -0,0 +1,34 @@ +# Generated by Django 4.2.30 on 2026-07-07 09:28 + +import datetime +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('simpsons', '0007_alter_urldata_infix_alter_urldata_prefix_and_more'), + ] + + operations = [ + migrations.AlterField( + model_name='simpsonsdata', + name='modified_at', + field=models.DateTimeField(default=datetime.datetime(1970, 1, 1, 0, 0, tzinfo=datetime.timezone.utc)), + ), + migrations.AlterField( + model_name='urldata', + name='infix', + field=models.CharField(blank=True, help_text='&episode=', max_length=1000, null=True), + ), + migrations.AlterField( + model_name='urldata', + name='prefix', + field=models.CharField(blank=True, help_text='https://www.1shows.org/tv/456-the-simpsons?streaming=true&season=', max_length=1000, null=True), + ), + migrations.AlterField( + model_name='urldata', + name='suffix', + field=models.CharField(blank=True, max_length=1000, null=True), + ), + ] diff --git a/django_code/apps/random_simpsons/models.py b/django_code/apps/random_simpsons/models.py index 330728f..89eade4 100644 --- a/django_code/apps/random_simpsons/models.py +++ b/django_code/apps/random_simpsons/models.py @@ -1,13 +1,27 @@ from django.db import models from datetime import datetime +from django.utils.timezone import make_aware + +EPOCH = make_aware(datetime(1970, 1, 1)) 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)) + modified_at = models.DateTimeField(default=EPOCH) + class Meta: db_table = 'episodes' +class urlData(models.Model): + url_example = models.CharField(max_length=1000, help_text="https://www.1shows.org/tv/456-the-simpsons?streaming=true&season=18&episode=5") + prefix = models.CharField(max_length=1000, help_text="https://www.1shows.org/tv/456-the-simpsons?streaming=true&season=",blank=True, null=True) + infix = models.CharField(max_length=1000, help_text="&episode=",blank=True, null=True) + suffix = models.CharField(max_length=1000, help_text="" ,blank=True, null=True) + addedDate = models.DateField('Published', blank=True, null=True, auto_now_add=True) + + class Meta: + db_table = 'redirectUrl' + simpsons_data_object = SimpsonsData.objects.using('simpsons_db') diff --git a/django_code/apps/random_simpsons/utils.py b/django_code/apps/random_simpsons/utils.py index 24affb3..51f0f77 100644 --- a/django_code/apps/random_simpsons/utils.py +++ b/django_code/apps/random_simpsons/utils.py @@ -4,7 +4,7 @@ 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 +from .models import simpsons_data_object,urlData betaserie = betaserieUtils() @@ -73,7 +73,9 @@ def generate_new_urls_for_episode(verbose=False): for episode in range(1,number_episodes_in_season+1): if verbose : print("Season: "+str(season)) if verbose : print("episode: "+str(episode)) - new_url = "https://www.1shows.org/tv/456-the-simpsons?streaming=true&season="+str(season)+"&episode="+str(episode) + + new_url_object = urlData.objects.all().order_by('-addedDate').first() + new_url = str(new_url_object.prefix)+str(season)+str(new_url_object.infix)+str(episode)+str(new_url_object.suffix) if verbose : print(new_url) try: