cubequest/questhelper/map/views.py
2021-06-08 22:26:48 -04:00

23 lines
790 B
Python

from django.http import HttpResponse
from django.template import loader
from map import map_generator
from map import map_renderer
from map.map_renderer import RenderedMap
from map.quest_map import QuestMap
def _ordinal(level):
return {1: '1st', 2: '2nd', 3: '3rd', 4: '4th', 5: '5th'}[level]
def index(request):
level = int(request.GET.get('level', 1))
if level not in range(1, 5 + 1):
raise Exception(f'Level should be in range [1, 5] but was {level}')
quest_map: QuestMap = map_generator.generate_map(level)
rendered_map: RenderedMap = map_renderer.render_map(quest_map)
template = loader.get_template('map/index.html')
context = {'level_ordinal': _ordinal(level), 'map': rendered_map}
return HttpResponse(template.render(context, request))