poster integration #48
@@ -59,7 +59,25 @@ class betaserieUtils():
|
||||
show_id = response.json()['shows'][0]['id']
|
||||
|
||||
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)),
|
||||
),
|
||||
]
|
||||
@@ -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),
|
||||
),
|
||||
]
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user