--- a/eric7/PluginManager/PluginManager.py Wed Apr 20 15:10:04 2022 +0200 +++ b/eric7/PluginManager/PluginManager.py Fri Apr 22 16:43:25 2022 +0200 @@ -63,6 +63,8 @@ before a plugin is deactivated @signal pluginDeactivated(moduleName, pluginObject) emitted just after a plugin was deactivated + @signal pluginRepositoryFileDownloaded() emitted to indicate a completed + download of the plugin repository file """ shutdown = pyqtSignal() pluginAboutToBeActivated = pyqtSignal(str, object) @@ -70,6 +72,7 @@ allPlugginsActivated = pyqtSignal() pluginAboutToBeDeactivated = pyqtSignal(str, object) pluginDeactivated = pyqtSignal(str, object) + pluginRepositoryFileDownloaded = pyqtSignal() def __init__(self, parent=None, disabledPlugins=None, doLoadPlugins=True, develPlugin=None): @@ -1231,8 +1234,15 @@ Public method to check the availability of updates of plug-ins. """ period = Preferences.getPluginManager("UpdatesCheckInterval") + # 0 = off + # 1 = daily + # 2 = weekly + # 3 = monthly + # 4 = always + if period == 0 or not self.__ui.isOnline(): return + elif period in [1, 2, 3]: lastModified = QFileInfo(self.pluginRepositoryFile).lastModified() if lastModified.isValid() and lastModified.date().isValid(): @@ -1247,10 +1257,21 @@ # daily, weekly, monthly return + self.downLoadRepositoryFile() + + def downLoadRepositoryFile(self, url=None): + """ + Public method to download the plugin repository file. + + @param url URL to get the plugin repository file from + (defaults to None) + @type QUrl or str (optional) + """ self.__updateAvailable = False - request = QNetworkRequest( - QUrl(Preferences.getUI("PluginRepositoryUrl7"))) + if url is None: + url = Preferences.getUI("PluginRepositoryUrl7") + request = QNetworkRequest(QUrl(url)) request.setAttribute( QNetworkRequest.Attribute.CacheLoadControlAttribute, QNetworkRequest.CacheLoadControl.AlwaysNetwork) @@ -1310,6 +1331,8 @@ if self.__updateAvailable: self.__ui.activatePluginRepositoryViewer() + else: + self.pluginRepositoryFileDownloaded.emit() def checkPluginEntry(self, name, short, description, url, author, version, filename, status):