Initial Commit
This commit is contained in:
commit
715224653d
58 changed files with 7760 additions and 0 deletions
67
gurps_character/views.py
Normal file
67
gurps_character/views.py
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
import json
|
||||
|
||||
from django.shortcuts import render
|
||||
from django.http import HttpResponse, HttpResponseRedirect
|
||||
from django.urls import reverse
|
||||
|
||||
from .models import GURPSCharacter
|
||||
from .forms import UploadFileForm
|
||||
|
||||
def index(request):
|
||||
characters = GURPSCharacter.objects.all()
|
||||
context = {"characters":characters}
|
||||
|
||||
if request.method == "POST":
|
||||
form = UploadFileForm(request.POST, request.FILES)
|
||||
if form.is_valid():
|
||||
handle_uploaded_file(request.FILES["file"])
|
||||
return HttpResponseRedirect(reverse("index"))
|
||||
else:
|
||||
form = UploadFileForm()
|
||||
|
||||
context['form'] = form
|
||||
return render(request, "characters/list.html", context)
|
||||
|
||||
def details(request, uuid):
|
||||
character = GURPSCharacter.objects.get(uuid=uuid)
|
||||
|
||||
context = {"character": character}
|
||||
#import bpdb;bpdb.set_trace()
|
||||
|
||||
return render(request, "characters/embedded.html", context)
|
||||
|
||||
|
||||
def upload_file(request):
|
||||
if request.method == "POST":
|
||||
form = UploadFileForm(request.POST, request.FILES)
|
||||
if form.is_valid():
|
||||
handle_uploaded_file(request.FILES["file"])
|
||||
return HttpResponseRedirect("/success/url/")
|
||||
else:
|
||||
form = UploadFileForm()
|
||||
return render(request, "characters/upload.html", {"form": form})
|
||||
|
||||
def handle_uploaded_file(f):
|
||||
import bpdb;bpdb.set_trace()
|
||||
f.seek(0) # We read the file in the validator
|
||||
data = json.loads(f.read())
|
||||
|
||||
uuid = data['id']
|
||||
name = data["profile"]["name"]
|
||||
|
||||
|
||||
try:
|
||||
character = GURPSCharacter.objects.get(uuid=uuid)
|
||||
character.details = data
|
||||
character.name = name
|
||||
character.save()
|
||||
except GURPSCharacter.DoesNotExist:
|
||||
character = GURPSCharacter(uuid=uuid, name=name, details = data)
|
||||
character.save()
|
||||
|
||||
def download(irequest, uuid):
|
||||
mime_type = "application/x-gcs-gcs"
|
||||
character = GURPSCharacter.objects.get(uuid=uuid)
|
||||
response = HttpResponse(json.dumps(character.details), content_type=mime_type)
|
||||
response['Content-Disposition'] = "attachment; filename=%s.gcs" % character.name
|
||||
return response
|
||||
Loading…
Add table
Add a link
Reference in a new issue