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('
Hello streaming view!
')
def streamingRedirect(request,alias):
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('You already watched the last episode of the serie!
')
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 HttpResponse(str(url_generated))
#return redirect(str(url_generated))