68 lines
2.1 KiB
Python
68 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))
|