# main.py
from distutils.log import debug
import os
import io
import requests
from PIL import Image
from flask import Flask, request
from pyzbar import pyzbar
basedir = os.path.abspath(os.path.dirname(__file__))
app = Flask(__name__)
app.config['SECRET_KEY'] = 'I have a dream'
app.config['UPLOADED_PHOTOS_DEST'] = os.path.join(basedir, 'uploads')
# В качестве входящих данных используется ссылка на изображение.
# http://127.0.0.1:5000/?url=https://habrastorage.org/webt/l-/kt/xo/l-ktxopaccb_sul1jd_jnw65jei.png
# Которое мы выкачиваем в виде байткода и скармливаем библиотеке pyzbar
@app.route('/', methods=['GET', 'POST'])
def savetoServer():
args = request.args
url = args.get('url')
response=requests.get(url)
picb=response.content
pic = Image.open(io.BytesIO(picb))
#pic = Image.frombytes("L", (203, 203), picb)
#pic = Image.open(io.StringIO(picb))
pic.save("test.png")
decoded_objects = pyzbar.decode(pic)
for obj in decoded_objects:
print("Type:", obj.type)
print("Dat a:", obj.data)
print()
# Конечно же на выходе ничего не будет, но результат можно глянуть в отладчике :-)
return ""
if __name__ == '__main__':
app.run(debug=True)