Ajouter patches/remote_login_py.patch

This commit is contained in:
2024-12-26 10:48:56 +01:00
parent 1b5dde5627
commit 695d02b9a4

View File

@@ -0,0 +1,43 @@
*** cps/remotelogin.py Thu Dec 26 10:33:32 2024
--- ../calibre-web/cps/remotelogin.py Thu Dec 26 10:32:13 2024
***************
*** 33,38 ****
--- 33,47 ----
from .render_template import render_title_template
from .usermanagement import user_login_required
+ try:
+ import qrcode
+ from base64 import b64encode
+ from base64 import b64encode
+ from io import BytesIO
+ from flask import send_file
+ has_qrcode = True
+ except ImportError:
+ has_qrcode = False
remotelogin = Blueprint('remotelogin', __name__)
log = logger.create()
***************
*** 59,64 ****
--- 68,87 ----
ub.session.add(auth_token)
ub.session_commit()
verify_url = url_for('remotelogin.verify_token', token=auth_token.auth_token, _external=true)
+ if has_qrcode:
+ qr = qrcode.QRCode(version=1,
+ error_correction=qrcode.constants.ERROR_CORRECT_H,
+ box_size=5,
+ border=4,
+ )
+ qr.add_data(verify_url)
+ qr.make(fit=True)
+ img = qr.make_image()
+ img_buf = BytesIO()
+ img.save(img_buf,format = 'jpeg')
+ qrcode_url = "data:image/jpeg;base64, %s" % b64encode(img_buf.getvalue()).decode()
+ else:
+ qrcode_url = ""
log.debug("Remot Login request with token: %s", auth_token.auth_token)
return render_title_template('remote_login.html', title=_("Login"), token=auth_token.auth_token,
verify_url=verify_url, page="remotelogin")