diff --git a/django_code/apps/streaming/admin.py b/django_code/apps/streaming/admin.py index 04ef6d9..bb77350 100644 --- a/django_code/apps/streaming/admin.py +++ b/django_code/apps/streaming/admin.py @@ -72,20 +72,21 @@ class streamingAdmin(ImportExportModelAdmin): @admin.register(StreamingRedirectData) class StreamingRedirectAdmin(ImportExportModelAdmin): - list_display = ['name','season_to_watch','episode_to_watch','randomViewing','url_example','addedDate','alias'] - #fields = ['name','season_to_watch','episode_to_watch','url_example','prefix','infix','suffix','alias','randomViewing','seasonInformation'] + list_display = ['name','season','episode','randomViewing','url_example','addedDate','alias'] + #fields = ['name','season','episode','url_example','prefix','infix','suffix','alias','randomViewing','seasonInformation'] fieldsets = ( ( 'Serie', { - 'fields': ('name', 'season_to_watch', 'episode_to_watch','randomViewing') + 'fields': ('name', 'season', 'episode','randomViewing') }), ( 'url', { + 'fields': (('prefix','infix','suffix'),'url_example') }), ( 'Information', { "classes": ["collapse"], - 'fields': ('seasonInformation','alias') + 'fields': ('seasonInformation','alias','betaserieShowId') }), ) \ No newline at end of file diff --git a/django_code/apps/streaming/migrations/0009_rename_episode_to_watch_streamingredirectdata_episode_and_more.py b/django_code/apps/streaming/migrations/0009_rename_episode_to_watch_streamingredirectdata_episode_and_more.py new file mode 100644 index 0000000..8de3284 --- /dev/null +++ b/django_code/apps/streaming/migrations/0009_rename_episode_to_watch_streamingredirectdata_episode_and_more.py @@ -0,0 +1,23 @@ +# Generated by Django 4.2.30 on 2026-08-25 14:06 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('streaming', '0008_streamingredirectdata_randomviewing_and_more'), + ] + + operations = [ + migrations.RenameField( + model_name='streamingredirectdata', + old_name='episode_to_watch', + new_name='episode', + ), + migrations.RenameField( + model_name='streamingredirectdata', + old_name='season_to_watch', + new_name='season', + ), + ] diff --git a/django_code/apps/streaming/migrations/0010_alter_streamingredirectdata_episode.py b/django_code/apps/streaming/migrations/0010_alter_streamingredirectdata_episode.py new file mode 100644 index 0000000..4dc4be3 --- /dev/null +++ b/django_code/apps/streaming/migrations/0010_alter_streamingredirectdata_episode.py @@ -0,0 +1,18 @@ +# Generated by Django 4.2.30 on 2026-08-25 14:08 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('streaming', '0009_rename_episode_to_watch_streamingredirectdata_episode_and_more'), + ] + + operations = [ + migrations.AlterField( + model_name='streamingredirectdata', + name='episode', + field=models.IntegerField(default=0), + ), + ] diff --git a/django_code/apps/streaming/migrations/0011_streamingredirectdata_betaserieshowid.py b/django_code/apps/streaming/migrations/0011_streamingredirectdata_betaserieshowid.py new file mode 100644 index 0000000..6392400 --- /dev/null +++ b/django_code/apps/streaming/migrations/0011_streamingredirectdata_betaserieshowid.py @@ -0,0 +1,18 @@ +# Generated by Django 4.2.30 on 2026-08-25 15:13 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('streaming', '0010_alter_streamingredirectdata_episode'), + ] + + operations = [ + migrations.AddField( + model_name='streamingredirectdata', + name='betaserieShowId', + field=models.IntegerField(default=0), + ), + ] diff --git a/django_code/apps/streaming/migrations/0012_alter_streamingredirectdata_betaserieshowid.py b/django_code/apps/streaming/migrations/0012_alter_streamingredirectdata_betaserieshowid.py new file mode 100644 index 0000000..b2232ac --- /dev/null +++ b/django_code/apps/streaming/migrations/0012_alter_streamingredirectdata_betaserieshowid.py @@ -0,0 +1,18 @@ +# Generated by Django 4.2.30 on 2026-08-25 15:14 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('streaming', '0011_streamingredirectdata_betaserieshowid'), + ] + + operations = [ + migrations.AlterField( + model_name='streamingredirectdata', + name='betaserieShowId', + field=models.IntegerField(blank=True, null=True), + ), + ] diff --git a/django_code/apps/streaming/models.py b/django_code/apps/streaming/models.py index df53c3b..3256e10 100644 --- a/django_code/apps/streaming/models.py +++ b/django_code/apps/streaming/models.py @@ -18,8 +18,8 @@ class StreamingSiteTestingData(models.Model): 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) + season = models.IntegerField(null=False,default=1) + episode = models.IntegerField(null=False,default=0) 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) @@ -27,6 +27,7 @@ class StreamingRedirectData(models.Model): addedDate = models.DateField('Published', blank=True, null=True, auto_now_add=True) alias = models.CharField(max_length=1000, null=True,blank=True) seasonInformation = models.JSONField(default=dict, blank=True) + betaserieShowId = models.IntegerField(null=True,blank=True) randomViewing = models.BooleanField(default=False) def sanitize(self, name): @@ -37,13 +38,21 @@ class StreamingRedirectData(models.Model): print(serie_name) print(betaserie.identify_serie(serie_name)) return betaserie.series_information(betaserie.identify_serie(serie_name))[0] - + + def betaserie_show_id(self,serie_name): + betaserie = betaserieUtils() + print(serie_name) + print(betaserie.identify_serie(serie_name)) + return betaserie.identify_serie(serie_name) + 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) + if not self.betaserieShowId: + self.betaserieShowId = self.betaserie_show_id(self.name) super().save(*args, **kwargs) class Meta: diff --git a/django_code/apps/streaming/utils.py b/django_code/apps/streaming/utils.py index 8aba529..40f31c4 100644 --- a/django_code/apps/streaming/utils.py +++ b/django_code/apps/streaming/utils.py @@ -37,3 +37,22 @@ def test_website(url_website,bool_proxy=False): status = "exception not targeted" return status + +def randomEpisode(): + return 0,0 + +def followingEpisode(season,episode,seasonInformation): + lastEpisode = False + #check if the episode is the last one of the season + if (episode < seasonInformation[season]['episodes']): + #the current episode is not the + episode += 1 + + #check if the season is the last one + elif((season+1) < (len(seasonInformation)-1)): + season += 1 + episode = 1 + else: + print("You watched the last episode of the serie") + lastEpisode = True + return season,episode,lastEpisode \ No newline at end of file diff --git a/django_code/apps/streaming/views.py b/django_code/apps/streaming/views.py index 91ea44a..1c56fdc 100644 --- a/django_code/apps/streaming/views.py +++ b/django_code/apps/streaming/views.py @@ -1,3 +1,76 @@ -from django.shortcuts import render +from django.http import HttpResponse +from django.shortcuts import redirect +from six import print_ +from .models import StreamingRedirectData +from .utils import randomEpisode,followingEpisode +from apps.betaserie.utils import betaserieUtils + +betaserie = betaserieUtils() + # Create your views here. +def hello(request): + return HttpResponse('