diff --git a/django_code/apps/random_simpsons/utils.py b/django_code/apps/random_simpsons/utils.py
index 7b3831c..3bf7ffd 100644
--- a/django_code/apps/random_simpsons/utils.py
+++ b/django_code/apps/random_simpsons/utils.py
@@ -22,7 +22,7 @@ def mark_episode_watched(season,episode,action,verbose=False):
episode_number = "S"+str(season)+"E"+str(episode)
episode_id = betaserie.identify_episode(simpsons_id,episode_number)
-
+
if action == "watched":
betaserie.mark_episodes_watched(episode_id)
elif action == "unwatched":
diff --git a/django_code/apps/random_simpsons/views.py b/django_code/apps/random_simpsons/views.py
index 42fbf53..bc1d6e7 100644
--- a/django_code/apps/random_simpsons/views.py
+++ b/django_code/apps/random_simpsons/views.py
@@ -4,41 +4,45 @@ from django.shortcuts import redirect
from .models import SimpsonsData,simpsons_data_object
from .utils import mark_episode_watched
import random
-
+import threading
def hello(request):
return HttpResponse('
Hello Simpsons view!
')
def episode_generator(request):
- #simpsons_data_object = SimpsonsData.objects.using('simpsons_db')
-
boolean_restart = True;
while (boolean_restart):
maximum_number_of_seasons = simpsons_data_object.aggregate(unique_season=Count('season', distinct=True))['unique_season']
- random_seasons = random.randint(1, maximum_number_of_seasons)
- print("random season: " + str(random_seasons))
+ random_season = random.randint(1, maximum_number_of_seasons)
+ print("random season: " + str(random_season))
- maximum_number_of_episodes = simpsons_data_object.filter(season=random_seasons).count()
+ maximum_number_of_episodes = simpsons_data_object.filter(season=random_season).count()
random_episode = random.randint(1, maximum_number_of_episodes)
print("random episode: " + str(random_episode))
- episode_seen = simpsons_data_object.filter(season=random_seasons, episode=random_episode).values('seen')[0]['seen']
+ episode_seen = simpsons_data_object.filter(season=random_season, episode=random_episode).values('seen')[0]['seen']
if not(episode_seen):
boolean_restart = False
else:
- print("episode "+str(random_episode)+" from season "+str(random_seasons)+" already seen")
+ print("episode "+str(random_episode)+" from season "+str(random_season)+" already seen")
- random_url = simpsons_data_object.filter(season=random_seasons, episode=random_episode).values('url')[0]['url']
#Set episode as seen
# It will still update an already seem episode but it works and I'm lazy
#Mark episode as seen on betaseries
- mark_episode_watched(random_seasons,random_episode,"watched")
+ thread = threading.Thread(
+ target=mark_episode_watched,
+ args=(random_season, random_episode, "watched"),
+ daemon=True,
+ )
+ thread.start()
+
+ random_url = simpsons_data_object.filter(season=random_season, episode=random_episode).values('url')[0]['url']
return redirect(str(random_url))