87 lines
2.9 KiB
Python
87 lines
2.9 KiB
Python
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('<h1>Hello streaming view!</h1>')
|
|
|
|
|
|
def streamingRedirect(request,alias):
|
|
#sanitize
|
|
alias = alias.lower()
|
|
|
|
streaming_object = StreamingRedirectData.objects.filter(alias=alias)
|
|
|
|
episode = streaming_object.values('episode')[0]['episode']
|
|
season = streaming_object.values('season')[0]['season']
|
|
seasonInformation = streaming_object.values('seasonInformation')[0]['seasonInformation']
|
|
maximumNumberSeason = streaming_object.values('maximumNumberSeason')[0]['maximumNumberSeason']
|
|
|
|
|
|
url_prefix = streaming_object.values('prefix')[0]['prefix']
|
|
url_infix = streaming_object.values('infix')[0]['infix']
|
|
url_suffix = streaming_object.values('suffix')[0]['suffix'] or ''
|
|
|
|
betaserieShowId = streaming_object.values('betaserieShowId')[0]['betaserieShowId']
|
|
|
|
print("Last episode seen:")
|
|
print("Season: "+str(season))
|
|
print("Episode: "+str(episode))
|
|
|
|
|
|
print(seasonInformation)
|
|
|
|
|
|
randomViewing = streaming_object.values('randomViewing')[0]['randomViewing']
|
|
print("randomViewing: "+str(randomViewing))
|
|
|
|
if (randomViewing == True):
|
|
print('show set to random')
|
|
boolean_restart = True;
|
|
while (boolean_restart):
|
|
season,episode = randomEpisode(seasonInformation,maximumNumberSeason)
|
|
episode_number = "S"+str(season)+"E"+str(episode)
|
|
|
|
episode_id,episode_seen = betaserie.identify_episode(betaserieShowId,episode_number)
|
|
print("episode_seen: "+str(episode_seen))
|
|
|
|
if not(episode_seen):
|
|
boolean_restart = False
|
|
else:
|
|
print("episode "+str(episode)+" from season "+str(season)+" already seen")
|
|
|
|
else:
|
|
print('show set to following episode')
|
|
season,episode,lastEpisode = followingEpisode(season,episode,seasonInformation,maximumNumberSeason)
|
|
if (lastEpisode):
|
|
return HttpResponse('<h1>You already watched the last episode of the serie!</h1>')
|
|
|
|
print(season)
|
|
print(episode)
|
|
|
|
|
|
url_generated = str(url_prefix)+str(season)+str(url_infix)+str(episode)+str(url_suffix)
|
|
print(url_generated)
|
|
|
|
|
|
#append the data into the model
|
|
StreamingRedirectData.objects.filter(alias=alias).update(season=season,episode=episode)
|
|
|
|
#### mark as view in betaserie
|
|
|
|
#mark episode as seen in betaserie
|
|
episode_number = "S"+str(season)+"E"+str(episode)
|
|
|
|
episode_id,episode_seen = betaserie.identify_episode(betaserieShowId,episode_number)
|
|
|
|
betaserie.mark_episodes_watched(episode_id)
|
|
|
|
return redirect(str(url_generated)) |