diff --git a/python/pyplugin_installer/installer.py b/python/pyplugin_installer/installer.py index 0e50e976117..a299d134319 100644 --- a/python/pyplugin_installer/installer.py +++ b/python/pyplugin_installer/installer.py @@ -119,7 +119,7 @@ class QgsPluginInstaller(QObject): for key in repositories.allEnabled(): if reloadMode or repositories.all()[key]["state"] == 3: # if state = 3 (error or not fetched yet), try to fetch once again - repositories.requestFetching(key) + repositories.requestFetching(key, force_reload=reloadMode) if repositories.fetchingInProgress(): fetchDlg = QgsPluginInstallerFetchingDialog(iface.mainWindow()) diff --git a/python/pyplugin_installer/installer_data.py b/python/pyplugin_installer/installer_data.py index a6f2df9c12a..ac221869ace 100644 --- a/python/pyplugin_installer/installer_data.py +++ b/python/pyplugin_installer/installer_data.py @@ -316,7 +316,7 @@ class Repositories(QObject): settings.endGroup() # ----------------------------------------- # - def requestFetching(self, key, url=None, redirectionCounter=0): + def requestFetching(self, key, url=None, redirectionCounter=0, force_reload=False): """ start fetching the repository given by key """ self.mRepositories[key]["state"] = 1 if not url: @@ -327,6 +327,8 @@ class Repositories(QObject): self.mRepositories[key]["QRequest"] = QNetworkRequest(url) self.mRepositories[key]["QRequest"].setAttribute(QNetworkRequest.Attribute(QgsNetworkRequestParameters.AttributeInitiatorClass), "Relay") self.mRepositories[key]["QRequest"].setAttribute(QNetworkRequest.FollowRedirectsAttribute, True) + if force_reload: + self.mRepositories[key]["QRequest"].setAttribute(QNetworkRequest.CacheLoadControlAttribute, QNetworkRequest.AlwaysNetwork) authcfg = self.mRepositories[key]["authcfg"] if authcfg and isinstance(authcfg, str): if not QgsApplication.authManager().updateNetworkRequest(