poster integration #48

Merged
pi-ux-ce merged 6 commits from testing into main 2026-09-17 21:44:17 +00:00
5 changed files with 66 additions and 10 deletions
Showing only changes of commit f188e25453 - Show all commits
+18
View File
@@ -60,6 +60,24 @@ class betaserieUtils():
return show_id
def poster_serie(self,serie_name,verbose=False):
#
# Usage
# poster_url = beta.poster_serie("The simpsons")
# poster_url = beta.poster_serie("The simpsons",verbose=True)
#
url = "https://api.betaseries.com/shows/search?title="+serie_name
response = requests.request("GET", url, headers=self.headers, data=self.payload)
if verbose:
print("Url request: "+str(url))
print(response.text)
poster_url = response.json()['shows'][0]['images']['show']
return poster_url
def identify_episode(self,show_id,episode_number,verbose=False):
#
# Usage
@@ -0,0 +1,19 @@
# Generated by Django 4.2.30 on 2026-09-17 21:26
import datetime
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('simpsons', '0008_alter_simpsonsdata_modified_at_alter_urldata_infix_and_more'),
]
operations = [
migrations.AlterField(
model_name='simpsonsdata',
name='modified_at',
field=models.DateTimeField(default=datetime.datetime(1969, 12, 31, 23, 0, tzinfo=datetime.timezone.utc)),
),
]
+3 -3
View File
@@ -60,7 +60,7 @@ class streamingAdmin(UniversalModelAdmin):
@admin.register(StreamingRedirectData)
class StreamingRedirectAdmin(UniversalModelAdmin):
list_display = ['name','season','episode','randomViewing','clickable_links','addedDate','alias', 'image_tag']
list_display = ['name','image_tag','season','episode','randomViewing','clickable_links','addedDate','alias']
#fields = ['name','season','episode','url_example','prefix','infix','suffix','alias','randomViewing','seasonInformation']
fieldsets = (
(
@@ -75,10 +75,10 @@ class StreamingRedirectAdmin(UniversalModelAdmin):
(
'Information', {
"classes": ["collapse"],
'fields': ('seasonInformation','alias','betaserieShowId','maximumNumberSeason')
'fields': ('seasonInformation','alias','betaserieShowId','maximumNumberSeason','poster_url')
}),
)
link_field = 'url_display'
def image_tag(self,obj):
return format_html('<img src="{0}" style="width: 45px; height:45px;" />'.format("https://api.thumbalizr.com/static/images/error_api_key.png?url=http://google.com&width=125"))
return format_html('<img src="{0}" style="width: 150px; height:100px;" />'.format(obj.poster_url))
@@ -0,0 +1,18 @@
# Generated by Django 4.2.30 on 2026-09-17 21:26
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('streaming', '0014_remove_streamingredirectdata_url_example_and_more'),
]
operations = [
migrations.AddField(
model_name='streamingredirectdata',
name='poster_url',
field=models.CharField(blank=True, help_text='poster URL', max_length=1000, null=True),
),
]
+7 -6
View File
@@ -31,28 +31,27 @@ class StreamingRedirectData(models.Model):
betaserieShowId = models.IntegerField(null=True,blank=True)
maximumNumberSeason = models.IntegerField(null=True,blank=True)
randomViewing = models.BooleanField(default=False)
poster_url = models.CharField(max_length=1000, help_text="poster URL",blank=True, null=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,True))
return betaserie.series_information(betaserie.identify_serie(serie_name))[0]
def maximum_Number_Season(self, serie_name):
betaserie = betaserieUtils()
print(serie_name)
print(betaserie.identify_serie(serie_name))
return betaserie.series_information(betaserie.identify_serie(serie_name))[1]
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 betaserie_poster_url(self,serie_name):
betaserie = betaserieUtils()
return betaserie.poster_serie(serie_name)
def url_display_set(self,alias):
if ENVIRONMENT == "PRODUCTION":
url = "https://streaming.geeraert.eu/"
@@ -73,6 +72,8 @@ class StreamingRedirectData(models.Model):
self.maximumNumberSeason = self.maximum_Number_Season(self.name)
if not self.url_display:
self.url_display = self.url_display_set(self.alias)
if not self.poster_url:
self.poster_url = self.betaserie_poster_url(self.name)
super().save(*args, **kwargs)
class Meta: