plugininstaller_patch.diff

Larry Shaffer, 2016-03-03 12:11 PM

Download (4.32 KB)

View differences:

python/pyplugin_installer/installer_data.py
341 341
        self.mRepositories[key]["QRequest"] = QNetworkRequest(url)
342 342
        authcfg = self.mRepositories[key]["authcfg"]
343 343
        if authcfg and isinstance(authcfg, basestring):
344
            authcfg = authcfg.strip()
344 345
            if not QgsAuthManager.instance().updateNetworkRequest(
345
                    self.mRepositories[key]["QRequest"], authcfg.strip()):
346
                    self.mRepositories[key]["QRequest"], authcfg):
346 347
                msg = QCoreApplication.translate(
347 348
                    "QgsPluginInstaller",
348 349
                    "Update of network request with authentication "
......
353 354
        self.mRepositories[key]["QRequest"].setAttribute(QNetworkRequest.User, key)
354 355
        self.mRepositories[key]["xmlData"] = QgsNetworkAccessManager.instance().get(self.mRepositories[key]["QRequest"])
355 356
        self.mRepositories[key]["xmlData"].setProperty('reposName', key)
357
        self.mRepositories[key]["xmlData"].setProperty('authcfg', authcfg)
356 358
        self.mRepositories[key]["xmlData"].downloadProgress.connect(self.mRepositories[key]["Relay"].dataReadProgress)
357 359
        self.mRepositories[key]["xmlData"].finished.connect(self.xmlDownloaded)
358 360

  
......
376 378
        """ populate the plugins object with the fetched data """
377 379
        reply = self.sender()
378 380
        reposName = reply.property('reposName')
381
        authcfg = reply.property('authcfg')
379 382
        if reply.error() != QNetworkReply.NoError:                             # fetching failed
380 383
            self.mRepositories[reposName]["state"] = 3
381 384
            self.mRepositories[reposName]["error"] = reply.errorString()
......
439 442
                        "version_installed": "",
440 443
                        "zip_repository": reposName,
441 444
                        "library": "",
442
                        "readonly": False
445
                        "readonly": False,
446
                        "authcfg": authcfg
443 447
                    }
444 448
                    qgisMinimumVersion = pluginNodes.item(i).firstChildElement("qgis_minimum_version").text().strip()
445 449
                    if not qgisMinimumVersion:
python/pyplugin_installer/qgsplugininstallerinstallingdialog.py
24 24
 ***************************************************************************/
25 25
"""
26 26

  
27
from PyQt4.QtCore import QDir, QUrl, QFile, QCoreApplication
27
from PyQt4.QtCore import QDir, QUrl, QFile, QCoreApplication, QgsAuthManager, QTimer
28 28
from PyQt4.QtGui import QDialog
29 29
from PyQt4.QtNetwork import QNetworkRequest, QNetworkReply
30 30

  
......
57 57
        self.file = QFile(tmpPath)
58 58

  
59 59
        self.request = QNetworkRequest(url)
60
        self.reply = QgsNetworkAccessManager.instance().get(self.request)
61
        self.reply.downloadProgress.connect(self.readProgress)
62
        self.reply.finished.connect(self.requestFinished)
63

  
64
        self.stateChanged(4)
60
        authcfg = plugin["authcfg"] if 'authcfg' in plugin else None
61
        authfailed = False
62
        if authcfg and not QgsAuthManager.instance().updateNetworkRequest(
63
                self.request, authcfg):
64
            authfailed = True
65
            self.mResult = self.tr(
66
                "QgsPluginInstaller",
67
                "Update of network request with authentication "
68
                "credentials FAILED for configuration '{0}'").format(authcfg)
69

  
70
        if authfailed:
71
            QTimer.singleShot(0, self.reject)
72
        else:
73
            self.reply = QgsNetworkAccessManager.instance().get(self.request)
74
            self.reply.downloadProgress.connect(self.readProgress)
75
            self.reply.finished.connect(self.requestFinished)
76

  
77
            self.stateChanged(4)
65 78

  
66 79
    # ----------------------------------------- #
67 80
    def result(self):