tunic-tracker-redux/tunictracker/tracker/views.py

72 lines
2.8 KiB
Python

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
try:
request_data = requests.get('http://localhost:8000/spoiler').text
except:
context = {
"debug": "",
"totals": "",
"scene": "",
"scene_data": ""
}
template = loader.get_template("tracker/index.html")
return HttpResponse(template.render(context, request))
tracker_output = loads(request_data)
# with open('spoiler.json', 'r') as t:
# tracker_output = loads(t.read())
tracker_debug = tracker_output["Debug"]
tracker_totals = tracker_output["Totals"]
tracker_current_scene = tracker_output["Current"]["Scene"]
tracker_current_scene_data = tracker_output["Scenes"][tracker_current_scene]
template = loader.get_template("tracker/index.html")
for i in tracker_output["Scenes"]:
if i != tracker_current_scene:
checks_total = tracker_output["Scenes"][i]["Totals"]["Checks"]["Total"]
checks_undiscovered = tracker_output["Scenes"][i]["Totals"]["Checks"]["Undiscovered"]
entrances_total = tracker_output["Scenes"][i]["Totals"]["Entrances"]["Total"]
entrances_undiscovered = tracker_output["Scenes"][i]["Totals"]["Entrances"]["Undiscovered"]
temp_data = {
"Checks": {
"Total": checks_total,
"Undiscovered": checks_undiscovered
},
"Entrances": {
"Total": entrances_total,
"Undiscovered": entrances_undiscovered
}
}
tracker_totals[i] = temp_data
temp_tracker_checks = tracker_current_scene_data["Checks"]
for i, check in enumerate(temp_tracker_checks.keys()):
temp_data = {
"Check": temp_tracker_checks[check],
"CheckNum": floor(int(i) % 3)
}
temp_tracker_checks[check] = temp_data
tracker_current_scene_data["Checks"] = temp_tracker_checks
temp_tracker_entrances = tracker_current_scene_data["Entrances"]
for i, entrance in enumerate(temp_tracker_entrances.keys()):
temp_data = {
"Entrance": temp_tracker_entrances[entrance],
"EntranceNum": floor(int(i) % 3)
}
temp_tracker_entrances[entrance] = temp_data
tracker_current_scene_data["Entrances"] = temp_tracker_entrances
context = {
"debug": tracker_debug,
"totals": tracker_totals,
"scene": tracker_current_scene,
"scene_data": tracker_current_scene_data
}
return HttpResponse(template.render(context, request))