bloombase/plants/views/identify.py

40 lines
1.3 KiB
Python

from django.shortcuts import render, redirect
_SESSION_KEYS = [
'identify_matches', 'identify_image_paths', 'identify_selected',
'identify_vpc_results', 'identify_vpc_idx',
]
def _clear_session(request):
for key in _SESSION_KEYS:
request.session.pop(key, None)
def identify_upload(request):
if request.method == 'POST':
return redirect('identify_confirm')
return render(request, 'plants/identify_upload.html')
def identify_confirm(request):
if 'identify_matches' not in request.session:
return redirect('identify_upload')
if request.method == 'POST':
return redirect('identify_fields')
return render(request, 'plants/identify_confirm.html', {
'matches': request.session.get('identify_matches', []),
})
def identify_fields(request):
if 'identify_selected' not in request.session:
return redirect('identify_upload')
if request.method == 'POST':
_clear_session(request)
return redirect('plant_list')
return render(request, 'plants/identify_fields.html', {
'selected': request.session.get('identify_selected', {}),
'vpc_results': request.session.get('identify_vpc_results', []),
'vpc_idx': request.session.get('identify_vpc_idx', 0),
})