Exemplo n.º 1
0
    def post(request):
        try:
            data = request.POST.get('barcode_base64')
            img_format, img_str = data.split(';base64,')
            image = ContentFile(base64.b64decode(img_str))
            image = image_uploader(image)
            codes = zbarlight.scan_codes(['ean13'], image)

            if codes is None:
                return JsonResponse(
                    {
                        'barcodes': [],
                        'products': [],
                        'message': 'バーコードが認識できませんでした。'
                    },
                    status=404)

            barcodes = [d.decode('utf-8') for d in codes]

            products = Product.get_by_barcodes(barcodes)

            if products is None:
                return JsonResponse(
                    {
                        'barcodes': barcodes,
                        'products': [],
                        'message': '該当する商品がありません。'
                    },
                    status=404)

            return JsonResponse({
                'barcodes':
                barcodes,
                'products':
                ProductSerializer(products, many=True).data
            })

        except Exception as e:
            print('Exception', str(e))

            return JsonResponse({
                'barcodes': [],
                'products': [],
                'message': str(e)
            })
Exemplo n.º 2
0
    def post(request):
        barcodes = []
        products = []

        try:
            data = request.POST.get('barcode_base64')
            img_format, img_str = data.split(';base64,')
            image = ContentFile(base64.b64decode(img_str))
            image = image_uploader(image)
            codes = zbarlight.scan_codes(['ean13'], image)
            if codes is not None:
                barcodes = [d.decode('utf-8') for d in codes]
                products = Product.get_by_barcodes(barcodes)

        except Exception as e:
            print('Exception', str(e))

        return TemplateResponse(request, 'index.html', {
            'barcodes': barcodes,
            'products': products,
        })