From de1977fd2a70635d556dd80612146cc8a35b078d Mon Sep 17 00:00:00 2001 From: pierregeeraert Date: Fri, 7 Aug 2026 16:26:50 +0100 Subject: [PATCH] work on the redirection --- django_code/apps/streaming/admin.py | 11 ++++-- ...ldata.py => 0003_streamingredirectdata.py} | 8 ++--- ...gredirectdata_episode_to_watch_and_more.py | 28 +++++++++++++++ .../0005_streamingredirectdata_hello.py | 18 ++++++++++ ...ve_streamingredirectdata_hello_and_more.py | 22 ++++++++++++ ...gdata_streamingsitetestingdata_and_more.py | 22 ++++++++++++ django_code/apps/streaming/models.py | 35 +++++++++++++++---- 7 files changed, 130 insertions(+), 14 deletions(-) rename django_code/apps/streaming/migrations/{0003_urldata.py => 0003_streamingredirectdata.py} (85%) create mode 100644 django_code/apps/streaming/migrations/0004_streamingredirectdata_episode_to_watch_and_more.py create mode 100644 django_code/apps/streaming/migrations/0005_streamingredirectdata_hello.py create mode 100644 django_code/apps/streaming/migrations/0006_remove_streamingredirectdata_hello_and_more.py create mode 100644 django_code/apps/streaming/migrations/0007_rename_streamingdata_streamingsitetestingdata_and_more.py diff --git a/django_code/apps/streaming/admin.py b/django_code/apps/streaming/admin.py index 88d825d..895b184 100644 --- a/django_code/apps/streaming/admin.py +++ b/django_code/apps/streaming/admin.py @@ -1,7 +1,7 @@ from django.contrib import admin from django.utils.html import format_html from import_export.admin import ImportExportModelAdmin -from .models import streamingData +from .models import StreamingSiteTestingData,StreamingRedirectData from .utils import full_testing from urllib.parse import urlsplit, urlunsplit @@ -43,7 +43,7 @@ def urlcleaning(modeladmin, request, queryset): print("Cleaning :"+str(base_url)) return 0 -@admin.register(streamingData) +@admin.register(StreamingSiteTestingData) class streamingAdmin(ImportExportModelAdmin): list_display = ['clickable_links','result_colored','newstatus'] fields = ['url'] @@ -68,4 +68,9 @@ class streamingAdmin(ImportExportModelAdmin): if obj.status != '200': return format_html('
{}
', obj.status) #return obj.status - \ No newline at end of file + + +@admin.register(StreamingRedirectData) +class StreamingRedirectAdmin(ImportExportModelAdmin): + list_display = ['name','season_to_watch','episode_to_watch','addedDate','url_example','addedDate','alias'] + fields = ['name','season_to_watch','episode_to_watch','url_example','prefix','infix','suffix','alias','seasonInformation'] diff --git a/django_code/apps/streaming/migrations/0003_urldata.py b/django_code/apps/streaming/migrations/0003_streamingredirectdata.py similarity index 85% rename from django_code/apps/streaming/migrations/0003_urldata.py rename to django_code/apps/streaming/migrations/0003_streamingredirectdata.py index 3dce65b..208d7cc 100644 --- a/django_code/apps/streaming/migrations/0003_urldata.py +++ b/django_code/apps/streaming/migrations/0003_streamingredirectdata.py @@ -1,4 +1,4 @@ -# Generated by Django 4.2.30 on 2026-08-07 11:00 +# Generated by Django 4.2.30 on 2026-08-07 13:13 import apps.streaming.models from django.db import migrations, models @@ -12,7 +12,7 @@ class Migration(migrations.Migration): operations = [ migrations.CreateModel( - name='urlData', + name='StreamingRedirectData', fields=[ ('name', models.CharField(help_text='Name of the show', max_length=1000, primary_key=True, serialize=False)), ('url_example', models.CharField(help_text='https://www.1shows.org/tv/456-the-simpsons?streaming=true&season=18&episode=5', max_length=1000)), @@ -20,10 +20,10 @@ class Migration(migrations.Migration): ('infix', models.CharField(blank=True, help_text='&episode=', max_length=1000, null=True)), ('suffix', models.CharField(blank=True, max_length=1000, null=True)), ('addedDate', models.DateField(auto_now_add=True, null=True, verbose_name='Published')), - ('alias', models.CharField(default=apps.streaming.models.urlData.sanitize, max_length=1000)), + ('alias', models.CharField(default=apps.streaming.models.StreamingRedirectData.sanitize, max_length=1000)), ], options={ - 'db_table': 'redirectUrl', + 'db_table': 'StreamingRedirect', }, ), ] diff --git a/django_code/apps/streaming/migrations/0004_streamingredirectdata_episode_to_watch_and_more.py b/django_code/apps/streaming/migrations/0004_streamingredirectdata_episode_to_watch_and_more.py new file mode 100644 index 0000000..bc762be --- /dev/null +++ b/django_code/apps/streaming/migrations/0004_streamingredirectdata_episode_to_watch_and_more.py @@ -0,0 +1,28 @@ +# Generated by Django 4.2.30 on 2026-08-07 14:02 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('streaming', '0003_streamingredirectdata'), + ] + + operations = [ + migrations.AddField( + model_name='streamingredirectdata', + name='episode_to_watch', + field=models.IntegerField(default=1), + ), + migrations.AddField( + model_name='streamingredirectdata', + name='season_to_watch', + field=models.IntegerField(default=1), + ), + migrations.AlterField( + model_name='streamingredirectdata', + name='alias', + field=models.CharField(blank=True, max_length=1000, null=True), + ), + ] diff --git a/django_code/apps/streaming/migrations/0005_streamingredirectdata_hello.py b/django_code/apps/streaming/migrations/0005_streamingredirectdata_hello.py new file mode 100644 index 0000000..7301f8b --- /dev/null +++ b/django_code/apps/streaming/migrations/0005_streamingredirectdata_hello.py @@ -0,0 +1,18 @@ +# Generated by Django 4.2.30 on 2026-08-07 14:49 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('streaming', '0004_streamingredirectdata_episode_to_watch_and_more'), + ] + + operations = [ + migrations.AddField( + model_name='streamingredirectdata', + name='hello', + field=models.CharField(blank=True, max_length=1000, null=True), + ), + ] diff --git a/django_code/apps/streaming/migrations/0006_remove_streamingredirectdata_hello_and_more.py b/django_code/apps/streaming/migrations/0006_remove_streamingredirectdata_hello_and_more.py new file mode 100644 index 0000000..2a9df99 --- /dev/null +++ b/django_code/apps/streaming/migrations/0006_remove_streamingredirectdata_hello_and_more.py @@ -0,0 +1,22 @@ +# Generated by Django 4.2.30 on 2026-08-07 14:55 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('streaming', '0005_streamingredirectdata_hello'), + ] + + operations = [ + migrations.RemoveField( + model_name='streamingredirectdata', + name='hello', + ), + migrations.AddField( + model_name='streamingredirectdata', + name='seasonInformation', + field=models.JSONField(blank=True, max_length=1000, null=True), + ), + ] diff --git a/django_code/apps/streaming/migrations/0007_rename_streamingdata_streamingsitetestingdata_and_more.py b/django_code/apps/streaming/migrations/0007_rename_streamingdata_streamingsitetestingdata_and_more.py new file mode 100644 index 0000000..1581313 --- /dev/null +++ b/django_code/apps/streaming/migrations/0007_rename_streamingdata_streamingsitetestingdata_and_more.py @@ -0,0 +1,22 @@ +# Generated by Django 4.2.30 on 2026-08-07 15:22 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('streaming', '0006_remove_streamingredirectdata_hello_and_more'), + ] + + operations = [ + migrations.RenameModel( + old_name='streamingData', + new_name='StreamingSiteTestingData', + ), + migrations.AlterField( + model_name='streamingredirectdata', + name='seasonInformation', + field=models.JSONField(blank=True, default='', max_length=1000), + ), + ] diff --git a/django_code/apps/streaming/models.py b/django_code/apps/streaming/models.py index 1fde17e..e7d5f3a 100644 --- a/django_code/apps/streaming/models.py +++ b/django_code/apps/streaming/models.py @@ -1,7 +1,10 @@ from django.db import models +from apps.betaserie.utils import betaserieUtils + + # Create your models here. -class streamingData(models.Model): +class StreamingSiteTestingData(models.Model): url = models.CharField(max_length=1000) addedDate = models.DateField('Published', blank=True, null=True, auto_now_add=True) status = models.CharField(max_length=1000, blank=True, null=True) @@ -10,19 +13,37 @@ class streamingData(models.Model): class Meta: db_table = 'streaming' -class urlData(models.Model): - def sanitize(self): - print(self) - return 1 + + +class StreamingRedirectData(models.Model): name = models.CharField(primary_key=True,max_length=1000, help_text="Name of the show") + season_to_watch = models.IntegerField(null=False,default=1) + episode_to_watch = models.IntegerField(null=False,default=1) 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) - alias = models.CharField(max_length=1000, default=sanitize) + alias = models.CharField(max_length=1000, null=True,blank=True) + seasonInformation = models.JSONField(default="",max_length=1000,blank=True) + def sanitize(self, name): + return name.replace(" ", "") + def season_information(self, serie_name): + betaserie = betaserieUtils() + print(serie_name) + print(betaserie.identify_serie(serie_name)) + return betaserie.series_information(betaserie.identify_serie(serie_name))[0] + + + def save(self, *args, **kwargs): + if not self.seasonInformation : + self.seasonInformation = self.season_information(self.name) + if not self.alias: + self.alias = self.sanitize(self.name) + super().save(*args, **kwargs) + class Meta: - db_table = 'redirectUrl' \ No newline at end of file + db_table = 'StreamingRedirect' \ No newline at end of file