summaryrefslogtreecommitdiffstats
path: root/core/views/scans.py
diff options
context:
space:
mode:
authorPhilip Sargent <philip.sargent@klebos.com>2022-07-21 10:32:11 +0300
committerPhilip Sargent <philip.sargent@klebos.com>2022-07-21 10:32:11 +0300
commit8245ee103e3569888145f8781b4405ee9fa657db (patch)
tree40f9899ca544204da8d701f5090d641f41ef1fd0 /core/views/scans.py
parent3e869ae76ab13f9c30cf129eeb5dac4dc6e3b3c7 (diff)
downloadtroggle-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.py18
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 })