From 5fee9303710097a1abc27cf00e678ed1a89cc77a Mon Sep 17 00:00:00 2001 From: pathmapper Date: Mon, 24 Jul 2023 07:56:31 +0200 Subject: [PATCH] Fix plugin voting from within plugin manager Update URL, check reply status code and use blockingPost to be able to handle redirects. --- python/pyplugin_installer/installer.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/python/pyplugin_installer/installer.py b/python/pyplugin_installer/installer.py index 2479ce7e25d..40865bf46cc 100644 --- a/python/pyplugin_installer/installer.py +++ b/python/pyplugin_installer/installer.py @@ -564,14 +564,17 @@ class QgsPluginInstaller(QObject): if not plugin_id or not vote: return False - url = "http://plugins.qgis.org/plugins/RPC2/" + url = "https://plugins.qgis.org/plugins/RPC2/" params = {"id": "djangorpc", "method": "plugin.vote", "params": [str(plugin_id), str(vote)]} req = QNetworkRequest(QUrl(url)) req.setAttribute(QNetworkRequest.Attribute(QgsNetworkRequestParameters.AttributeInitiatorClass), "QgsPluginInstaller") req.setAttribute(QNetworkRequest.Attribute(QgsNetworkRequestParameters.AttributeInitiatorRequestId), "sendVote") req.setRawHeader(b"Content-Type", b"application/json") - QgsNetworkAccessManager.instance().post(req, bytes(json.dumps(params), "utf-8")) - return True + reply = QgsNetworkAccessManager.instance().blockingPost(req, bytes(json.dumps(params), "utf-8")) + if reply.attribute(QNetworkRequest.HttpStatusCodeAttribute) == 200: + return True + else: + return False def installFromZipFile(self, filePath): if not os.path.isfile(filePath):