add exceptions
This commit is contained in:
parent
bed03c9234
commit
74858130ef
|
@ -10,6 +10,7 @@ from django.http.response import HttpResponse
|
||||||
from django.shortcuts import get_object_or_404
|
from django.shortcuts import get_object_or_404
|
||||||
from rest_framework import permissions
|
from rest_framework import permissions
|
||||||
from rest_framework import views
|
from rest_framework import views
|
||||||
|
from rest_framework.exceptions import APIException
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
|
|
||||||
from booking.models import Room
|
from booking.models import Room
|
||||||
|
@ -40,7 +41,10 @@ class QRCodeAPI(views.APIView):
|
||||||
data = {}
|
data = {}
|
||||||
for key in request.query_params:
|
for key in request.query_params:
|
||||||
data[key] = request.query_params[key]
|
data[key] = request.query_params[key]
|
||||||
stream = create_qrcode(data)
|
try:
|
||||||
|
stream = create_qrcode(data)
|
||||||
|
except Exception as e:
|
||||||
|
raise APIException(e)
|
||||||
return HttpResponse(stream.getvalue(), content_type="image/png")
|
return HttpResponse(stream.getvalue(), content_type="image/png")
|
||||||
|
|
||||||
|
|
||||||
|
@ -52,20 +56,22 @@ class DownloadAllQRCodeByRoomAPI(views.APIView):
|
||||||
room = get_object_or_404(Room, id=room_id)
|
room = get_object_or_404(Room, id=room_id)
|
||||||
seat_qrcode_stream_list = []
|
seat_qrcode_stream_list = []
|
||||||
seat_name_list = []
|
seat_name_list = []
|
||||||
for seat in room.seat_set.all():
|
try:
|
||||||
data = {
|
for seat in room.seat_set.all():
|
||||||
'type': 'seat',
|
data = {
|
||||||
'name': seat.name,
|
'type': 'seat',
|
||||||
'id': seat.id
|
'name': seat.name,
|
||||||
}
|
'id': seat.id
|
||||||
seat_qrcode_stream_list.append(create_qrcode(data))
|
}
|
||||||
seat_name_list.append(seat.name)
|
seat_qrcode_stream_list.append(create_qrcode(data))
|
||||||
|
seat_name_list.append(seat.name)
|
||||||
zip = BytesIO()
|
|
||||||
with zipfile.ZipFile(zip, 'w', zipfile.ZIP_DEFLATED) as zf:
|
|
||||||
for index, file in enumerate(seat_qrcode_stream_list):
|
|
||||||
zf.writestr(f'座位-{seat_name_list[index]}.png', file.getvalue())
|
|
||||||
|
|
||||||
|
zip = BytesIO()
|
||||||
|
with zipfile.ZipFile(zip, 'w', zipfile.ZIP_DEFLATED) as zf:
|
||||||
|
for index, file in enumerate(seat_qrcode_stream_list):
|
||||||
|
zf.writestr(f'座位-{seat_name_list[index]}.png', file.getvalue())
|
||||||
|
except Exception as e:
|
||||||
|
raise APIException(e)
|
||||||
return HttpResponse(zip.getvalue(), content_type="application/zip")
|
return HttpResponse(zip.getvalue(), content_type="application/zip")
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue