Ajouter patches/remote_login_py.patch
This commit is contained in:
43
patches/remote_login_py.patch
Normal file
43
patches/remote_login_py.patch
Normal 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")
|
||||
Reference in New Issue
Block a user