With the good patch
Some checks failed
Build and Push Docker Image / build (push) Failing after 3m48s

This commit is contained in:
2024-12-27 20:37:59 +01:00
parent 84b211c0c0
commit f6be831be1

View File

@@ -1,65 +1,56 @@
*** remotelogin.py.ori Fri Dec 27 19:50:57 2024
--- remotelogin.py Fri Dec 27 20:05:34 2024
*** cps/remotelogin.py 2024-12-27 20:25:22.346404564 +0100
--- cps/remotelogin.py 2024-12-27 20:30:22.693992691 +0100
***************
*** 33,38 ****
--- 33,41 ----
from .render_template import render_title_template
from .usermanagement import user_login_required
+ remotelogin = Blueprint('remotelogin', __name__)
+ log = logger.create()
+
try:
import qrcode
from base64 import b64encode
***************
*** 40,51 ****
from io import BytesIO
from flask import send_file
has_qrcode = True
except ImportError:
has_qrcode = False
!
! remotelogin = Blueprint('remotelogin', __name__)
! log = logger.create()
!
def remote_login_required(f):
@wraps(f)
--- 43,52 ----
from io import BytesIO
from flask import send_file
has_qrcode = True
*** 37,42 ****
--- 37,54 ----
remotelogin = Blueprint('remotelogin', __name__)
log = logger.create()
+ try:
+ import qrcode
+ from base64 import b64encode
+ from base64 import b64encode
+ from io import BytesIO
+ from flask import send_file
+ has_qrcode = True
+ log.info("Magic Link QRCode is enabled")
except ImportError:
has_qrcode = False
! log.info("QRCode is not available")
+ except ImportError:
+ has_qrcode = False
+ log.info("Magic Link QRCode is not available")
+
def remote_login_required(f):
@wraps(f)
***************
*** 69,74 ****
--- 70,76 ----
*** 59,67 ****
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:
+ log.debug("Building the QRCode for magik link")
qr = qrcode.QRCode(version=1,
error_correction=qrcode.constants.ERROR_CORRECT_H,
box_size=5,
***************
*** 83,90 ****
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")
@remotelogin.route('/verify/<token>')
--- 85,97 ----
else:
qrcode_url = ""
--- 71,100 ----
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:
+ log.debug("Building the QRCode for magik link")
+ 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"),
@@ -68,6 +59,7 @@
! page="remotelogin",
! qrcode=qrcode,
! qrcode_url=qrcode_url)
!
@remotelogin.route('/verify/<token>')