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

69 lines
2.1 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
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/static/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_scene_data = tracker_output["Scenes"][tracker_current_scene]
tracker_scenes = tracker_output["Scenes"]
entered_codes = tracker_output["Codes"]
try:
tracker_codes = cross_codes
for scene in entered_codes:
for k, v in cross_codes[scene].items():
tracker_codes[scene][k] = (
v, entered_codes[scene][k])
except Exception as e:
current_cross_codes = {}
print(e)
template = loader.get_template("tracker/index.html")
context = {
"server_address": server_address,
"is_hidden": is_hidden,
"debug": tracker_debug,
"default_codes": cross_codes["Default"],
"tracked_codes": tracker_codes,
"totals": tracker_totals,
"scenes": tracker_scenes,
"current_scene": {
"title": tracker_current_scene,
"data": tracker_current_scene_data
}
}
return HttpResponse(template.render(context, request))