from django.shortcuts import render import random # Create your views here. from django.http import HttpResponse from django.db.models import Count from django.shortcuts import redirect from apps.random_simpsons.models import SimpsonsData def hello(request): return HttpResponse('

Hello Django!

') 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'] print("maximum_number_of_seasons: "+str(maximum_number_of_seasons)) random_seasons = random.randint(1, maximum_number_of_seasons) print("random season: " + str(random_seasons)) maximum_number_of_episodes = simpsons_data_object.filter(season=random_seasons).count() print("maximum_number_of_episodes: "+str(maximum_number_of_episodes)) 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'] if not(episode_seen): boolean_restart = False else: print("episode "+str(random_episode)+" from season "+str(random_seasons)+" 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 simpsons_data_object.filter(season=random_seasons, episode=random_episode).values('seen').update(seen=True) return redirect(str(random_url)) #return HttpResponse('Check your terminal log!') def simpsons(request): #dev settings #generated_db = DB_generation("192.168.88.50",32345, "django_username", "Suffrage-Moneybags-Illusion7","django") #production settings generated_db = DB_generation("django-db-svc",5432, "django_username", "Suffrage-Moneybags-Illusion7","django") cursor = generated_db.cursor() #get max number of season maximum_number_of_seasons = Launch_sql_query("SELECT COUNT(DISTINCT season) as result FROM episodes;",generated_db) boolean_restart = True; while (boolean_restart): random_seasons = random.randint(1, maximum_number_of_seasons) print("random season: " + str(random_seasons)) #get max number of epiosde for this season maximum_number_of_episodes_query = "SELECT COUNT(url) as result FROM episodes WHERE season = " + str(random_seasons) + ";" maximum_number_of_episodes = Launch_sql_query(maximum_number_of_episodes_query,generated_db) random_episode = random.randint(1, maximum_number_of_episodes) print("random episode: " + str(random_episode)) #check if the episode was already seen check_if_already_seen_query = "select seen from episodes where season="+ str(random_seasons) +" and episode = "+ str(random_episode) +";" if not Launch_sql_query(check_if_already_seen_query, generated_db): boolean_restart = False else: print("episode "+str(random_episode)+" from season "+str(random_seasons)+" already seen") url_from_episode_season_query = "select url from episodes where season="+ str(random_seasons) +" and episode = "+ str(random_episode) +";" generated_url = Launch_sql_query(url_from_episode_season_query,generated_db) #mark as seen url_from_episode_season_query = "update episodes set seen = True where season=" + str(random_seasons) + " and episode = " + str(random_episode) + ";" Launch_sql_query(url_from_episode_season_query, generated_db) generated_db.commit() generated_db.close() #return HttpResponse(str(generated_url)) return redirect(str(generated_url))