def installUpdate(self,installDir='',gui=False,title=''): if installDir is None or installDir=='': installDir = self.getInstallDir() message = self.checkPermissions(installDir,gui,title) if message != '': return message if gui: QApplication.setOverrideCursor( Qt.WaitCursor ) s = QSettings() packageType = self.getPackageType() (ret,version) = cpt_city_update( installDir, True, packageType ) if gui: QApplication.restoreOverrideCursor() if ret: s = QSettings() s.setValue('CptCity/updateChecked', str(date.today().isoformat())) s.setValue('CptCity/updateAvailable', '') message = self.tr('Version %s installed') % (str(version)) if gui: QMessageBox.information(None, self.dlg.windowTitle(), message, QMessageBox.Close) self.dlg.pbtnUpdateCheck.setEnabled( False ) return message else: message = self.tr('Error downloading or installing update, check console') if gui: QMessageBox.warning(None, self.dlg.windowTitle(), message, QMessageBox.Close) return message
def checkUpdate(self,installDir='',gui=False,title=''): if installDir is None or installDir=='': installDir = self.getInstallDir() packageType = self.getPackageType() if packageType == 'cpt-city-qgis-min': message = self.tr('no need to check for update for this package') QMessageBox.information(None, self.dlg.windowTitle(), message, QMessageBox.Close) return #message = self.checkPermissions(installDir,gui,title) #if message != '': # return message # if we have an available update, no need to check s = QSettings() if s.value('CptCity/updateAvailable', '', type=str) != '': (ret,version) = (True,s.value('CptCity/updateAvailable', '', type=str)) else: # set override cursor if gui: QApplication.setOverrideCursor( Qt.WaitCursor ) # fetch new version (ret,version) = cpt_city_update( installDir, False, packageType ) if gui: QApplication.restoreOverrideCursor() s = QSettings() # update settings s.setValue('CptCity/updateChecked', str(date.today().isoformat())) if ret: s.setValue('CptCity/updateAvailable', str(version)) # we have an update, act on it if ret: #TODO print new version info and/or log, when not running from gui if gui: result = QMessageBox.information(None, title, \ self.tr('Version (%s) is available, download and install?') % ( str(version) ), \ QMessageBox.Yes | QMessageBox.No) if result == QMessageBox.No: return '' else: return self.installUpdate(installDir,gui,title) else: return self.tr('New cpt-city version (%s) is available') % ( str(version) ) elif version != 0: if gui: QMessageBox.information(None, title, self.tr('Up to date (version %s)') % (str(version)), QMessageBox.Close) self.dlg.pbtnUpdateCheck.setEnabled( False ) else: return '' else: message = self.tr('Error checking update') if gui: QMessageBox.warning(None, self.dlg.windowTitle(), message, QMessageBox.Close) return message return ''