UI/UserInterface.py

changeset 1217
f3d57bb18bdb
parent 1196
77da430b4080
child 1221
291dc0a51947
equal deleted inserted replaced
1214:a65a4f31b051 1217:f3d57bb18bdb
5459 """ 5459 """
5460 Public method to show the eric5 versions available for download. 5460 Public method to show the eric5 versions available for download.
5461 """ 5461 """
5462 self.performVersionCheck(manual=True, showVersions=True) 5462 self.performVersionCheck(manual=True, showVersions=True)
5463 5463
5464 def performVersionCheck(self, manual=True, alternative=0, showVersions=False): 5464 def performVersionCheck(self, manual=True, alternative=0, showVersions=False):
5465 """ 5465 """
5466 Public method to check the internet for an eric5 update. 5466 Public method to check the internet for an eric5 update.
5467 5467
5468 @param manual flag indicating an invocation via the menu (boolean) 5468 @param manual flag indicating an invocation via the menu (boolean)
5469 @param alternative index of server to download from (integer) 5469 @param alternative index of server to download from (integer)
5525 return 5525 return
5526 5526
5527 reply = self.sender() 5527 reply = self.sender()
5528 if reply in self.__replies: 5528 if reply in self.__replies:
5529 self.__replies.remove(reply) 5529 self.__replies.remove(reply)
5530 if reply.error() != QNetworkReply.NoError: 5530 if reply.error() == QNetworkReply.NoError:
5531 ioEncoding = Preferences.getSystem("IOEncoding")
5532 versions = str(reply.readAll(), ioEncoding, 'replace').splitlines()
5533 if reply.error() != QNetworkReply.NoError or versions[0].startswith("<"):
5534 # network error or an error page
5531 self.httpAlternative += 1 5535 self.httpAlternative += 1
5532 if self.httpAlternative >= len(self.__httpAlternatives): 5536 if self.httpAlternative >= len(self.__httpAlternatives):
5533 self.__inVersionCheck = False 5537 self.__inVersionCheck = False
5534 if self.__versionCheckProgress is not None: 5538 if self.__versionCheckProgress is not None:
5535 self.__versionCheckProgress.reset() 5539 self.__versionCheckProgress.reset()
5536 self.__versionCheckProgress = None 5540 self.__versionCheckProgress = None
5537 E5MessageBox.warning(self, 5541 firstFailure = Preferences.Prefs.settings.value(
5538 self.trUtf8("Error getting versions information"), 5542 "Updates/FirstFailedCheckDate", QDate.currentDate())
5539 self.trUtf8("""The versions information could not be downloaded.""" 5543 failedDuration = firstFailure.daysTo(QDate.currentDate())
5540 """ Please go online and try again.""")) 5544 Preferences.Prefs.settings.setValue(
5545 "Updates/FirstFailedCheckDate", firstFailure)
5546 if self.manualUpdatesCheck:
5547 E5MessageBox.warning(self,
5548 self.trUtf8("Error getting versions information"),
5549 self.trUtf8("""The versions information could not be"""
5550 """ downloaded."""
5551 """ Please go online and try again."""))
5552 elif failedDuration > 7:
5553 E5MessageBox.warning(self,
5554 self.trUtf8("Error getting versions information"),
5555 self.trUtf8("""The versions information could not be"""
5556 """ downloaded for the last 7 days."""
5557 """ Please go online and try again."""))
5541 return 5558 return
5542 else: 5559 else:
5543 self.performVersionCheck(self.manualUpdatesCheck, self.httpAlternative, 5560 self.performVersionCheck(self.manualUpdatesCheck, self.httpAlternative,
5544 self.showAvailableVersions) 5561 self.showAvailableVersions)
5545 return 5562 return
5546 5563
5547 self.__inVersionCheck = False 5564 self.__inVersionCheck = False
5548 if self.__versionCheckProgress is not None: 5565 if self.__versionCheckProgress is not None:
5549 self.__versionCheckProgress.reset() 5566 self.__versionCheckProgress.reset()
5550 self.__versionCheckProgress = None 5567 self.__versionCheckProgress = None
5551 ioEncoding = Preferences.getSystem("IOEncoding")
5552 versions = str(reply.readAll(), ioEncoding, 'replace').splitlines()
5553 self.__updateVersionsUrls(versions) 5568 self.__updateVersionsUrls(versions)
5554 if self.showAvailableVersions: 5569 if self.showAvailableVersions:
5555 self.__showAvailableVersionInfos(versions) 5570 self.__showAvailableVersionInfos(versions)
5556 else: 5571 else:
5572 Preferences.Prefs.settings.remove("Updates/FirstFailedCheckDate")
5557 Preferences.Prefs.settings.setValue( 5573 Preferences.Prefs.settings.setValue(
5558 "Updates/LastCheckDate", QDate.currentDate()) 5574 "Updates/LastCheckDate", QDate.currentDate())
5559 self.__versionCheckResult(versions) 5575 self.__versionCheckResult(versions)
5560 5576
5561 def __updateVersionsUrls(self, versions): 5577 def __updateVersionsUrls(self, versions):

eric ide

mercurial