예제 #1
0
 def ask_update_addons(self, update_string):
     self.session.openWithCallback(
         self.update_addons,
         MessageBox,
         "%s %s?\n\n%s" %
         (_("Do you want to update"), _("addons"), toString(update_string)),
         type=MessageBox.TYPE_YESNO)
예제 #2
0
 def update_addons(self, callback=None, verbose=True):
     if not callback:
         self.open_archive_screen()
     else:
         updated_string = self._update_addons()
         self.session.openWithCallback(
             self.ask_restart_e2,
             MessageBox,
             "%s:\n\n%s" %
             (_("Following addons were updated"), toString(updated_string)),
             type=MessageBox.TYPE_INFO)
예제 #3
0
파일: updater.py 프로젝트: 1801/archivczsk
    def updateArchiv(self, callback=None, verbose=True):
        try:
            if not callback:
                log.logDebug("ArchivUpdater update canceled.")
                self.continueToArchiv()
            else:
                # copy files
                self.downloadZip()
                log.logDebug(
                    "ArchivUpdater download zip archivCZSK complete...")
                # remove tree
                self.backupOrRevertUpdate(True)
                self.BackupCreate = True
                self.removeArchivTree()
                # maybe zipper replace the file
                log.logDebug(
                    "ArchivUpdater remove archivCZSK files complete...")
                # unzip
                unzipper = unzip.unzip()
                #.../Plugins/Extensions/
                log.logDebug("ArchivUpdater extracting to %s" %
                             settings.ENIGMA_PLUGIN_PATH)
                unzipper.extract(self.updateZipFilePath,
                                 settings.ENIGMA_PLUGIN_PATH)
                log.logDebug("ArchivUpdater unzip archivCZSK complete...")
                self.removeTempFiles()

                # restart enigma
                strMsg = "%s" % _("Update archivCZSK complete.")
                self.archiv.session.openWithCallback(
                    self.archiv.ask_restart_e2,
                    MessageBox,
                    strMsg,
                    type=MessageBox.TYPE_INFO)
        except:
            strMsg = "%s" % _("Update archivCZSK failed.")
            try:
                if self.BackupCreate:
                    self.backupOrRevertUpdate(False)
            except:
                strMsg = strMsg + "\n\nFATAL ERROR\n\n" + _(
                    "Please revert archivCZSK manualy from following location before restart!!!"
                ) + "\n\n" + toString(self.backupDir)
                pass
            log.logError(
                "ArchivUpdater update archivCZSK from zip failed.\n%s" %
                traceback.format_exc())

            self.archiv.session.openWithCallback(self.updateFailed,
                                                 MessageBox,
                                                 strMsg,
                                                 type=MessageBox.TYPE_INFO)
            pass
예제 #4
0
파일: updater.py 프로젝트: 1801/archivczsk
    def doWork(self):
        try:
            lock = threading.Lock()

            def check_archiv():
                try:
                    if self.downloadUpdateXml():
                        from Plugins.Extensions.archivCZSK.version import version
                        local_version = version
                        xmlroot = util.load_xml(
                            self.updateXmlFilePath).getroot()
                        self.remote_version = xmlroot.attrib.get('version')
                        log.logDebug(
                            "ArchivUpdater version local/remote: %s/%s" %
                            (local_version, self.remote_version))

                        if util.check_version(local_version,
                                              self.remote_version):
                            self.needUpdate = True
                        else:
                            self.needUpdate = False
                    else:
                        self.needUpdate = False
                except:
                    log.logError("ArchivUpdater compare versions failed.\n%s" %
                                 traceback.format_exc())

            thread = threading.Thread(target=check_archiv)
            thread.start()
            thread.join()

            if self.needUpdate:
                log.logInfo("ArchivUpdater update found...%s" %
                            self.remote_version)
                strMsg = "%s %s?" % (
                    _("Do you want to update archivCZSK to version"),
                    toString(self.remote_version))
                self.archiv.session.openWithCallback(
                    self.updateArchiv,
                    MessageBox,
                    strMsg,
                    type=MessageBox.TYPE_YESNO)
            else:
                self.continueToArchiv()
        except:
            log.logError("ArchivUpdater update failed.\n%s" %
                         traceback.format_exc())
            self.continueToArchiv()
예제 #5
0
 def update_addons(self, callback=None, verbose=True):
     if not callback:
         self.open_archive_screen()
     else:
         updated_string = self._update_addons()
         self.session.openWithCallback(self.ask_restart_e2,
                 MessageBox,
                 "%s (%s/%s):\n\n%s"%(_("Following addons were updated"), len(self.updated_addons), len(self.to_update_addons), toString(updated_string)),
                 type=MessageBox.TYPE_INFO)
예제 #6
0
 def ask_update_addons(self, update_string):
     self.session.openWithCallback(
             self.update_addons,
             MessageBox,
             "%s %s? (%s)\n\n%s" %(_("Do you want to update"), _("addons"), len(self.to_update_addons), toString(update_string)),
             type = MessageBox.TYPE_YESNO)
예제 #7
0
파일: updater.py 프로젝트: mx3L/archivczsk
    def doWork(self):
        try:
            lock = threading.Lock()
            def check_archiv():
                try:
                    if self.downloadUpdateXml():
                        from Plugins.Extensions.archivCZSK.version import version
                        local_version = version
                        xmlroot = util.load_xml(self.updateXmlFilePath).getroot()
                        self.remote_version = xmlroot.attrib.get('version')
                        log.logDebug("ArchivUpdater version local/remote: %s/%s" % (local_version, self.remote_version))

                        if util.check_version(local_version, self.remote_version):
                            self.needUpdate = True
                        else:
                            self.needUpdate = False
                    else:
                        self.needUpdate = False
                except:
                    log.logError("ArchivUpdater compare versions failed.\n%s"%traceback.format_exc())

            thread = threading.Thread(target=check_archiv)
            thread.start()
            thread.join()

            if self.needUpdate:
                log.logInfo("ArchivUpdater update found...%s"%self.remote_version)
                strMsg = "%s %s?" %(_("Do you want to update archivCZSK to version"), toString(self.remote_version))
                self.archiv.session.openWithCallback(
                    self.updateArchiv,
                    MessageBox,
                    strMsg,
                    type = MessageBox.TYPE_YESNO)
            else:
                self.continueToArchiv()
        except:
            log.logError("ArchivUpdater update failed.\n%s"%traceback.format_exc())
            self.continueToArchiv()
예제 #8
0
파일: updater.py 프로젝트: mx3L/archivczsk
    def updateArchiv(self, callback=None, verbose=True):
        try:
            if not callback:
                log.logDebug("ArchivUpdater update canceled.")
                self.continueToArchiv()
            else:
                # copy files
                self.downloadZip()
                log.logDebug("ArchivUpdater download zip archivCZSK complete...")
                # remove tree
                self.backupOrRevertUpdate(True)
                self.BackupCreate = True
                self.removeArchivTree()
                # maybe zipper replace the file 
                log.logDebug("ArchivUpdater remove archivCZSK files complete...")
                # unzip
                unzipper = unzip.unzip()
                #.../Plugins/Extensions/
                log.logDebug("ArchivUpdater extracting to %s" % settings.ENIGMA_PLUGIN_PATH)
                unzipper.extract(self.updateZipFilePath, settings.ENIGMA_PLUGIN_PATH)
                log.logDebug("ArchivUpdater unzip archivCZSK complete...")
                self.removeTempFiles()

                # restart enigma
                strMsg = "%s" % _("Update archivCZSK complete.")
                self.archiv.session.openWithCallback(self.archiv.ask_restart_e2,
                        MessageBox,
                        strMsg,
                        type=MessageBox.TYPE_INFO)
        except:
            strMsg = "%s" % _("Update archivCZSK failed.")
            try:
                if self.BackupCreate:
                    self.backupOrRevertUpdate(False)
            except:
                strMsg = strMsg + "\n\nFATAL ERROR\n\n"+_("Please revert archivCZSK manualy from following location before restart!!!")+"\n\n"+toString(self.backupDir)
                pass
            log.logError("ArchivUpdater update archivCZSK from zip failed.\n%s"%traceback.format_exc())
            
            self.archiv.session.openWithCallback(self.updateFailed,
                    MessageBox,
                    strMsg,
                    type=MessageBox.TYPE_INFO)
            pass