bib_recognition/bibrecognition/imguploader/views.py

173 lines
5.7 KiB
Python
Raw Normal View History

2020-02-02 03:45:16 +01:00
from django.shortcuts import render
from django.http import HttpResponse
2020-06-15 00:32:25 +02:00
from .forms import PhotoForm
from .forms import SearchForm
from .forms import ChangeForm
from .forms import ChangeIDForm
2020-06-15 00:32:25 +02:00
from django.http import HttpResponseRedirect
2020-02-02 03:45:16 +01:00
from .models import PhotoManager
from .models import Photo
from .models import Competitions
from .models import PhotoMeta
from .functions import findNumber
2020-02-02 03:45:16 +01:00
# Create your views here.
def index(request):
2020-06-15 00:32:25 +02:00
return render(request, 'index.html', {})
# return HttpResponse("Hello, world. This is imageUploader")
def uploadPhotos(request):
if request.method == 'POST':
form = PhotoForm(request.POST, request.FILES)
comp = request.POST['zawody']
files = request.FILES.getlist('file_field')
2020-06-15 00:32:25 +02:00
if form.is_valid():
for f in files:
zawody = Competitions.objects.get(comp_slug=comp)
# photo = Photo.objects.create_photo(zawody,comp+"_"+f,f)
file_name = comp+"_"+f.name
photo = Photo(comp_id=zawody, name=file_name, image=f)
photo.save(force_insert=True)
# print("URL of photo: "+photo.image.url)
numbers = findNumber(photo.image.url)
for nr in numbers:
pm = PhotoMeta(comp_id=zawody, photo_id=photo, meta_key="detect_number", meta_value=nr)
pm.save(force_insert=True)
# return self.form_valid(form)
return HttpResponseRedirect('/success/')
else:
# return self.form_invalid(form)
# form.save()
# return render(request, print(request.FILES['file_field']))
return HttpResponseRedirect('/failed/')
2020-06-15 00:32:25 +02:00
else:
form = PhotoForm()
return render(request, 'upload.html', {'form': form})
# return HttpResponse("Hello, world. This is imageUploader")
def searchPhotos(request):
if request.method == 'POST':
form = SearchForm(request.POST)
comp = request.POST['zawody']
numer = request.POST['numer']
# print(request)
if form.is_valid():
allFotos = []
imgUrls = []
zawody = Competitions.objects.get(comp_slug=comp)
try:
zdjecia = PhotoMeta.objects.filter(comp_id=zawody, meta_value=numer)
except PhotoMeta.DoesNotExist:
zdjecia = None
if( zdjecia ):
for zdjecie in zdjecia:
# allFotos.append(Photo.objects.get(id=zdjecie.photo_id))
imgUrls.append(zdjecie.photo_id.image.name)
# for fotos in allFotos:
# imgUrls.append(fotos.image.url)
return render(request, 'search.html', {'foto': imgUrls})
else:
print('no ni ma')
return HttpResponseRedirect('/failed/')
return HttpResponseRedirect('/success/')
else:
return HttpResponseRedirect('/failed/')
else:
form = SearchForm()
return render(request, 'search.html', {'form': form})
# return HttpResponse("Hello, world. This is imageUploader")
def changePhotos(request):
if request.method == 'POST':
form = ChangeForm(request.POST)
comp = request.POST['zawody']
imgMeta = []
if form.is_valid():
zawody = Competitions.objects.get(comp_slug=comp)
try:
zdjecia = Photo.objects.filter(
comp_id=zawody)
except Photo.DoesNotExist:
zdjecia = None
if( zdjecia ):
for zdjecie in zdjecia:
meta = []
pm = PhotoMeta.objects.filter(photo_id=zdjecie)
meta.append(zdjecie.image.name)
numery = []
for numer in pm:
numery.append(numer.meta_value)
meta.append(numery)
2020-06-20 07:48:31 +02:00
meta.append(zdjecie.id)
imgMeta.append(meta)
return render(request, 'change.html', {'meta': imgMeta})
else:
print('no ni ma')
return HttpResponseRedirect('/failed/')
else:
return HttpResponseRedirect('/failed/')
else:
form = ChangeForm()
return render(request, 'change.html', {'form': form})
def changePhotoID(request, photo):
if request.method == 'POST':
form = ChangeIDForm(request.POST)
meta = request.POST['numerki']
numerki = meta.split(',')
zdjecie = Photo.objects.get(pk=photo)
PhotoMeta.objects.filter(photo_id=zdjecie).delete()
for n in numerki:
n = n.strip()
pm = PhotoMeta(comp_id=zdjecie.comp_id, photo_id=zdjecie,
meta_key="detect_number", meta_value=n)
pm.save(force_insert=True)
return render(request, 'changeid.html')
else:
form = ChangeIDForm()
try:
zdjecie = Photo.objects.get(pk=photo)
except Photo.DoesNotExist:
zdjecie = None
if(zdjecie):
pm = PhotoMeta.objects.filter(photo_id=zdjecie)
foto = zdjecie.image.url
numery = []
for nr in pm:
numery.append(nr.meta_value)
else:
print('no ni ma')
return HttpResponseRedirect('/failed/')
return render(request, 'changeid.html', {'photoid':photo,'foto': foto, 'numery': numery, 'form': form})
2020-06-20 07:48:31 +02:00
def ss(request):
return render(request, 'sukces.html')
def ff(request):
return render(request, 'failed.html')