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

64 lines
1.9 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/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))