diff options
author | Philip Sargent <philip.sargent@klebos.com> | 2022-07-21 10:32:11 +0300 |
---|---|---|
committer | Philip Sargent <philip.sargent@klebos.com> | 2022-07-21 10:32:11 +0300 |
commit | 8245ee103e3569888145f8781b4405ee9fa657db (patch) | |
tree | 40f9899ca544204da8d701f5090d641f41ef1fd0 /core/views/scans.py | |
parent | 3e869ae76ab13f9c30cf129eeb5dac4dc6e3b3c7 (diff) | |
download | troggle-8245ee103e3569888145f8781b4405ee9fa657db.tar.gz troggle-8245ee103e3569888145f8781b4405ee9fa657db.tar.bz2 troggle-8245ee103e3569888145f8781b4405ee9fa657db.zip |
wallets for just one cave
Diffstat (limited to 'core/views/scans.py')
-rw-r--r-- | core/views/scans.py | 18 |
1 files changed, 17 insertions, 1 deletions
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 }) |