from django.shortcuts import render from django.http import HttpResponse from django.template import loader from json import loads from math import floor import requests # Create your views here. def index(request): request_data = None server_address = 'http://localhost:8000/spoiler' is_hidden = True try: request_data = requests.get(server_address).text except: with open('empty_spoiler.json', 'r') as t: try: tracker_output = loads(t.read()) is_hidden = False except: return try: tracker_output = loads(request_data) except: with open('empty_spoiler.json', 'r') as t: try: tracker_output = loads(t.read()) is_hidden = False except: return with open('tracker/data/holy_cross_codes.json', 'r') as t: try: cross_codes = loads(t.read()) except: return tracker_debug = tracker_output["Debug"] tracker_totals = tracker_output["Totals"] tracker_current_scene = tracker_output["Current"]["Scene"] tracker_current_scane_data = tracker_output["Scenes"][tracker_current_scene] tracker_scenes = tracker_output["Scenes"] tracker_codes = tracker_output["Codes"] try: current_cross_codes = cross_codes[tracker_current_scene] except: current_cross_codes = {} template = loader.get_template("tracker/index.html") context = { "server_address": server_address, "is_hidden": is_hidden, "debug": tracker_debug, "codes": current_cross_codes, "codes_entered": tracker_codes, "totals": tracker_totals, "scenes": tracker_scenes, "current_scene": { "title": tracker_current_scene, "data": tracker_current_scane_data } } return HttpResponse(template.render(context, request))