From 8245ee103e3569888145f8781b4405ee9fa657db Mon Sep 17 00:00:00 2001 From: Philip Sargent Date: Thu, 21 Jul 2022 10:32:11 +0300 Subject: wallets for just one cave --- core/views/scans.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'core/views/scans.py') diff --git a/core/views/scans.py b/core/views/scans.py index 097c69f..8ecec0a 100644 --- a/core/views/scans.py +++ b/core/views/scans.py @@ -9,6 +9,7 @@ from django.shortcuts import render from django.http import HttpResponse from troggle.core.models.survex import Wallet, SingleScan +from troggle.core.models.caves import GetCaveLookup from troggle.core.views.expo import getmimetype #import parsers.surveys @@ -47,10 +48,11 @@ def walletindex(request, path): def scansingle(request, path, file): '''sends a single binary file to the user for display - browser decides how using mimetype ''' + try: wallet = Wallet.objects.get(walletname=urlunquote(path)) singlescan = SingleScan.objects.get(wallet=wallet, name=file) - # print(" - scansingle {}:{}:{}:".format(path, file, getmimetype(file))) + print(" - scansingle {}:{}:{}:".format(path, file, getmimetype(file))) return HttpResponse(content=open(singlescan.ffile,"rb"), content_type=getmimetype(file)) # any type of image except: message = f'Scan folder or scan item error or not found \'{path}\' and \'{file}\'.' @@ -66,3 +68,17 @@ def allwallets(request): manywallets = Wallet.objects.all() # manywallets = Wallet.objects.all().prefetch_related('singlescan') fails as the link is defined on 'singlescan' not on 'wallet' return render(request, 'manywallets.html', { 'manywallets':manywallets, 'settings': settings }) + +def cavewallets(request, cave_id): + '''Returns all the wallets for just one cave, + ''' + Gcavelookup = GetCaveLookup() + if cave_id in Gcavelookup: + cave = Gcavelookup[cave_id] + else: + return render(request,'errors/badslug.html', {'badslug': cave_id}) + + print(f'cavewallets {cave_id=} {cave=}') + + manywallets = Wallet.objects.filter(survexblock__survexfile__cave=cave) + return render(request, 'cavewallets.html', { 'manywallets':manywallets, 'settings': settings }) -- cgit v1.2.3