diff --git a/picard/oauth.py b/picard/oauth.py index d6bba3477..bb56e5637 100644 --- a/picard/oauth.py +++ b/picard/oauth.py @@ -28,11 +28,7 @@ from functools import partial from json.decoder import JSONDecodeError import time - -from PyQt5.QtCore import ( - QUrl, - QUrlQuery, -) +import urllib.parse from picard import log from picard.config import get_config @@ -179,13 +175,7 @@ class OAuthManager(object): @staticmethod def _query_data(params): - url = QUrl() - url_query = QUrlQuery() - for key, value in params.items(): - if key: - url_query.addQueryItem(key, value) - url.setQuery(url_query.query(QUrl.FullyEncoded)) - return url.query() + return urllib.parse.urlencode({key: value for key, value in params.items() if key}) def refresh_access_token(self, callback): log.debug("OAuth: refreshing access_token with a refresh_token %s", self.refresh_token) diff --git a/test/test_oauth.py b/test/test_oauth.py index c17ed198d..b93d875e3 100644 --- a/test/test_oauth.py +++ b/test/test_oauth.py @@ -33,4 +33,4 @@ class OAuthManagerTest(PicardTestCase): '': '', } data = OAuthManager._query_data(params) - self.assertEqual(data, "a%26b=a b&c d=c%26d") + self.assertEqual(data, "a%26b=a+b&c+d=c%26d")