File 0001-fix-avoid-Deprecated-werkzeug.urls.url_decode.patch of Package python-Flask-Login

From 7b170bf4e5e0240fe084166c9ca6ec4fba258dcd Mon Sep 17 00:00:00 2001
From: Hiromasa Ihara <iharahiromasa@gmail.com>
Date: Mon, 2 Oct 2023 20:14:40 +0900
Subject: [PATCH] fix: avoid DeprecationWarning 'werkzeug.urls.url_decode' is
 deprecated (#746)

---
 src/flask_login/utils.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/flask_login/utils.py b/src/flask_login/utils.py
index c3c46846..45a7e279 100644
--- a/src/flask_login/utils.py
+++ b/src/flask_login/utils.py
@@ -3,6 +3,8 @@
 from hashlib import sha512
 from urllib.parse import urlparse
 from urllib.parse import urlunparse
+from urllib.parse import parse_qs
+from urllib.parse import urlencode
 
 from flask import current_app
 from flask import g
@@ -11,8 +13,6 @@
 from flask import session
 from flask import url_for
 from werkzeug.local import LocalProxy
-from werkzeug.urls import url_decode
-from werkzeug.urls import url_encode
 
 from .config import COOKIE_NAME
 from .config import EXEMPT_METHODS
@@ -123,11 +123,11 @@ def login_url(login_view, next_url=None, next_field="next"):
         return base
 
     parsed_result = urlparse(base)
-    md = url_decode(parsed_result.query)
+    md = parse_qs(parsed_result.query)
     md[next_field] = make_next_param(base, next_url)
     netloc = current_app.config.get("FORCE_HOST_FOR_REDIRECTS") or parsed_result.netloc
     parsed_result = parsed_result._replace(
-        netloc=netloc, query=url_encode(md, sort=True)
+        netloc=netloc, query=urlencode(md, doseq=True)
     )
     return urlunparse(parsed_result)
 
openSUSE Build Service is sponsored by