Exemplo n.º 1
0
    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
Exemplo n.º 2
0
    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
Exemplo n.º 3
0
 def update_addon(self, addon):
     """updates addon"""
     
     log.debug("updating %s", addon.name)
     self._get_server_addon(addon)
 
     local_base = os.path.join(self.local_path, addon.id)        
     zip_file = self._download(addon)
     
     if zip_file is not None and os.path.isfile(zip_file):
         if os.path.isdir(local_base):
             shutil.rmtree(local_base)
         
         unzipper = unzip.unzip()
         unzipper.extract(zip_file, self.local_path)
         
         log.debug("%s was successfully updated to version %s", addon.name, self.remote_addons_dict[addon.id]['version'])
         return True
     log.debug("%s failed to update to version %s", addon.name, addon.version)
     return False
Exemplo n.º 4
0
 def update_addon(self, addon):
     """updates addon"""
     
     log.debug("updating %s", addon.name)
     self._get_server_addon(addon)
 
     local_base = os.path.join(self.local_path, addon.id)        
     zip_file = self._download(addon)
     
     if zip_file is not None and os.path.isfile(zip_file):
         if os.path.isdir(local_base):
             shutil.rmtree(local_base)
         
         unzipper = unzip.unzip()
         unzipper.extract(zip_file, self.local_path)
         
         log.debug("%s was successfully updated to version %s", addon.name, self.remote_addons_dict[addon.id]['version'])
         return True
     log.debug("%s failed to update to version %s", addon.name, addon.version)
     return False
Exemplo n.º 5
0
    def updatePremium(self, callback=None):
        try:
            #download ZIP
            util.download_to_file(
                'https://raw.githubusercontent.com/mtester270/archivczskpremium/master/archiv.zip',
                '/tmp/archivpremium.zip')
            #unpack
            unzipper = unzip.unzip()
            exDir = '/tmp/archivpremiumuzip'
            if os.path.isdir(exDir):
                shutil.rmtree(exDir)
            os.mkdir(exDir)
            unzipper.extract('/tmp/archivpremium.zip', exDir)
            os.remove('/tmp/archivpremium.zip')
            #copy
            shutil.copytree(
                os.path.join(exDir, 'archivCZSKpremium'),
                os.path.join(settings.ENIGMA_PLUGIN_PATH, 'archivCZSKpremium'))
            pthsite = os.path.join(exDir, 'site-packages')
            for i in os.listdir(pthsite):
                sitepck = os.path.join(pthsite, i)
                cpDir = os.path.join('/usr/lib/python2.7/site-packages', i)
                if not os.path.isdir(cpDir):
                    log.logDebug("UpdatePremium: add site-pckage %s" % i)
                    shutil.copytree(sitepck, cpDir)
                else:
                    log.logDebug(
                        "UpdatePremium: site-pckage %s already installed" % i)
            shutil.rmtree(exDir)

            #some custom setting
            val = self.getSetting('plugin_video_sosac_ph', 'streamujtv_user')
            self.saveSetting('plugin_video_sosac_ph', 'streamujtv_user', val,
                             True)
            val = self.getSetting('plugin_video_sosac_ph', 'streamujtv_pass')
            self.saveSetting('plugin_video_sosac_ph', 'streamujtv_pass', val)
            val = self.getSetting('plugin_video_sosac_ph', 'auto_addon_order')
            self.saveSetting('plugin_video_sosac_ph', 'auto_addon_order', val)
            val = self.getSetting('plugin_video_orangetv', 'orangetvuser')
            self.saveSetting('plugin_video_orangetv', 'orangetvuser', val)
            val = self.getSetting('plugin_video_orangetv', 'orangetvpwd')
            self.saveSetting('plugin_video_orangetv', 'orangetvpwd', val)
            val = self.getSetting('plugin_video_orangetv', 'auto_addon_order')
            self.saveSetting('plugin_video_orangetv', 'auto_addon_order', val)
            val = self.getSetting('plugin_video_stream-cinema', 'wsuser')
            self.saveSetting('plugin_video_stream-cinema', 'wsuser', val)
            val = self.getSetting('plugin_video_stream-cinema', 'wspass')
            self.saveSetting('plugin_video_stream-cinema', 'wspass', val)
            val = self.getSetting('plugin_video_stream-cinema',
                                  'trakt_enabled')
            self.saveSetting('plugin_video_stream-cinema', 'trakt_enabled',
                             val)
            val = self.getSetting('plugin_video_stream-cinema', 'deviceid')
            self.saveSetting('plugin_video_stream-cinema', 'deviceid', val)
            val = self.getSetting('plugin_video_stream-cinema', 'trakt_filter')
            self.saveSetting('plugin_video_stream-cinema', 'trakt_filter', val)
            val = self.getSetting('plugin_video_stream-cinema', 'trakt_token')
            self.saveSetting('plugin_video_stream-cinema', 'trakt_token', val)
            val = self.getSetting('plugin_video_stream-cinema',
                                  'trakt_refresh_token')
            self.saveSetting('plugin_video_stream-cinema',
                             'trakt_refresh_token', val)
            val = self.getSetting('plugin_video_stream-cinema',
                                  'trakt_token_expire')
            self.saveSetting('plugin_video_stream-cinema',
                             'trakt_token_expire', val)
            val = self.getSetting('plugin_video_stream-cinema', 'use_https')
            self.saveSetting('plugin_video_stream-cinema', 'use_https', val)
            val = self.getSetting('plugin_video_stream-cinema',
                                  'auto_addon_order')
            self.saveSetting('plugin_video_stream-cinema', 'auto_addon_order',
                             val)
            val = self.getSetting('plugin_video_o2tv', 'o2tvuser')
            self.saveSetting('plugin_video_o2tv', 'o2tvuser', val)
            val = self.getSetting('plugin_video_o2tv', 'o2tvpwd')
            self.saveSetting('plugin_video_o2tv', 'o2tvpwd', val)
            val = self.getSetting('plugin_video_o2tv', 'login_method')
            self.saveSetting('plugin_video_o2tv', 'login_method', val)
            val = self.getSetting('plugin_video_o2tv', 'deviceid')
            self.saveSetting('plugin_video_o2tv', 'deviceid', val)
            val = self.getSetting('plugin_video_o2tv', 'auto_addon_order')
            self.saveSetting('plugin_video_o2tv', 'auto_addon_order', val)
            val = self.getSetting('plugin_video_online-files',
                                  'webshare_enabled')
            self.saveSetting('plugin_video_online-files', 'webshare_enabled',
                             val)
            val = self.getSetting('plugin_video_online-files', 'webshare_user')
            self.saveSetting('plugin_video_online-files', 'webshare_user', val)
            val = self.getSetting('plugin_video_online-files', 'webshare_pass')
            self.saveSetting('plugin_video_online-files', 'webshare_pass', val)
            val = self.getSetting('plugin_video_online-files',
                                  'auto_addon_order')
            self.saveSetting('plugin_video_online-files', 'auto_addon_order',
                             val)
            val = self.getSetting('plugin_video_markiza_sk',
                                  'auto_addon_order')
            self.saveSetting('plugin_video_markiza_sk', 'auto_addon_order',
                             val)
            val = self.getSetting('plugin_video_joj_sk', 'auto_addon_order')
            self.saveSetting('plugin_video_joj_sk', 'auto_addon_order', val)
            val = self.getSetting('plugin_video_rtvs_sk', 'auto_addon_order')
            self.saveSetting('plugin_video_rtvs_sk', 'auto_addon_order', val)

            self.saveSettingArchiv('skin', self.getSettingArchiv('skin'))
            self.saveSettingArchiv('showVideoInfo',
                                   self.getSettingArchiv('showVideoInfo'))
            self.saveSettingArchiv('downloadPoster',
                                   self.getSettingArchiv('downloadPoster'))
            self.saveSettingArchiv('posterImageMax',
                                   self.getSettingArchiv('posterImageMax'))
            self.saveSettingArchiv('csfdMode',
                                   self.getSettingArchiv('csfdMode'))
            self.saveSettingArchiv('downloadsPath',
                                   self.getSettingArchiv('downloadsPath'))
            self.saveSettingArchiv('posterPath',
                                   self.getSettingArchiv('posterPath'))
            self.saveSettingArchiv('tmpPath', self.getSettingArchiv('tmpPath'))
            self.saveSettingArchiv('defaultCategory',
                                   self.getSettingArchiv('defaultCategory'))
            self.saveSettingArchiv('clearMemory',
                                   self.getSettingArchiv('clearMemory'))

            # save settings
            bcpPath = '/tmp/oldarchivBackup'
            pth = settings.PLUGIN_PATH
            if os.path.isdir(bcpPath):
                shutil.rmtree(bcpPath)
            os.mkdir(bcpPath)
            os.mkdir(os.path.join(bcpPath, 'resources'))
            osr = os.path.join(pth, 'osref.pyo')
            if os.path.isfile(osr):
                shutil.copyfile(osr, os.path.join(bcpPath, 'osref.pyo'))
            shutil.copyfile(os.path.join(pth, 'categories.xml'),
                            os.path.join(bcpPath, 'categories.xml'))
            if os.path.isdir(os.path.join(pth, 'resources')):
                try:
                    from distutils import dir_util
                    dir_util.copy_tree(
                        os.path.join(pth, 'resources', 'data'),
                        os.path.join(bcpPath, 'resources', 'data'))
                except:
                    log.logError("Restore archiv data failed. %s" %
                                 traceback.format_exc())

            # remove old archivCZSK
            if callback:
                shutil.rmtree(pth)

            #restore
            if os.path.isfile(os.path.join(bcpPath, 'osref.pyo')):
                shutil.copy(
                    os.path.join(bcpPath, 'osref.pyo'),
                    os.path.join(settings.ENIGMA_PLUGIN_PATH,
                                 'archivCZSKpremium'))
            shutil.copy(
                os.path.join(bcpPath, 'categories.xml'),
                os.path.join(settings.ENIGMA_PLUGIN_PATH, 'archivCZSKpremium'))
            if os.path.exists(os.path.join(bcpPath, 'resources', 'data')):
                try:
                    from distutils import dir_util
                    dir_util.copy_tree(
                        os.path.join(bcpPath, 'resources', 'data'),
                        os.path.join(settings.ENIGMA_PLUGIN_PATH,
                                     'archivCZSKpremium', 'resources', 'data'))
                except:
                    log.logError("Restore archiv data failed. %s" %
                                 traceback.format_exc())
            shutil.rmtree(bcpPath)

            strMsg = "%s" % _("Install ArchivCZSK premium complete.")
            self.archiv.session.openWithCallback(self.archiv.ask_restart_e2,
                                                 MessageBox,
                                                 strMsg,
                                                 type=MessageBox.TYPE_INFO)
        except:
            log.logDebug("UpdatePremium failed.\n%s" % traceback.format_exc())
            self.downloadCommit()
Exemplo n.º 6
0
    def updatePremium(self, callback=None):
        try:
            #download ZIP
            util.download_to_file('https://raw.githubusercontent.com/mtester270/archivczskpremium/master/archiv.zip', '/tmp/archivpremium.zip')
            #unpack
            unzipper = unzip.unzip()
            exDir = '/tmp/archivpremiumuzip'
            if os.path.isdir(exDir):
                shutil.rmtree(exDir)
            os.mkdir(exDir)
            unzipper.extract('/tmp/archivpremium.zip', exDir)
            os.remove('/tmp/archivpremium.zip')
            #copy
            shutil.copytree(os.path.join(exDir, 'archivCZSKpremium'), os.path.join(settings.ENIGMA_PLUGIN_PATH, 'archivCZSKpremium'))
            pthsite =os.path.join(exDir, 'site-packages')
            for i in os.listdir(pthsite):
                sitepck = os.path.join(pthsite,i)
                cpDir = os.path.join('/usr/lib/python2.7/site-packages', i)
                if not os.path.isdir(cpDir):
                    log.logDebug("UpdatePremium: add site-pckage %s"%i)
                    shutil.copytree(sitepck, cpDir)
                else:
                    log.logDebug("UpdatePremium: site-pckage %s already installed"%i)
            shutil.rmtree(exDir)


            #some custom setting
            val = self.getSetting('plugin_video_sosac_ph', 'streamujtv_user')
            self.saveSetting('plugin_video_sosac_ph', 'streamujtv_user', val, True)
            val = self.getSetting('plugin_video_sosac_ph', 'streamujtv_pass')
            self.saveSetting('plugin_video_sosac_ph', 'streamujtv_pass', val)
            val = self.getSetting('plugin_video_sosac_ph', 'auto_addon_order')
            self.saveSetting('plugin_video_sosac_ph', 'auto_addon_order', val)
            val = self.getSetting('plugin_video_orangetv', 'orangetvuser')
            self.saveSetting('plugin_video_orangetv', 'orangetvuser', val)
            val = self.getSetting('plugin_video_orangetv', 'orangetvpwd')
            self.saveSetting('plugin_video_orangetv', 'orangetvpwd', val)
            val = self.getSetting('plugin_video_orangetv', 'auto_addon_order')
            self.saveSetting('plugin_video_orangetv', 'auto_addon_order', val)
            val = self.getSetting('plugin_video_stream-cinema', 'wsuser')
            self.saveSetting('plugin_video_stream-cinema', 'wsuser', val)
            val = self.getSetting('plugin_video_stream-cinema', 'wspass')
            self.saveSetting('plugin_video_stream-cinema', 'wspass', val)
            val = self.getSetting('plugin_video_stream-cinema', 'trakt_enabled')
            self.saveSetting('plugin_video_stream-cinema', 'trakt_enabled', val)
            val = self.getSetting('plugin_video_stream-cinema', 'deviceid')
            self.saveSetting('plugin_video_stream-cinema', 'deviceid', val)
            val = self.getSetting('plugin_video_stream-cinema', 'trakt_filter')
            self.saveSetting('plugin_video_stream-cinema', 'trakt_filter', val)
            val = self.getSetting('plugin_video_stream-cinema', 'trakt_token')
            self.saveSetting('plugin_video_stream-cinema', 'trakt_token', val)
            val = self.getSetting('plugin_video_stream-cinema', 'trakt_refresh_token')
            self.saveSetting('plugin_video_stream-cinema', 'trakt_refresh_token', val)
            val = self.getSetting('plugin_video_stream-cinema', 'trakt_token_expire')
            self.saveSetting('plugin_video_stream-cinema', 'trakt_token_expire', val)
            val = self.getSetting('plugin_video_stream-cinema', 'use_https')
            self.saveSetting('plugin_video_stream-cinema', 'use_https', val)
            val = self.getSetting('plugin_video_stream-cinema', 'auto_addon_order')
            self.saveSetting('plugin_video_stream-cinema', 'auto_addon_order', val)
            val = self.getSetting('plugin_video_o2tv', 'o2tvuser')
            self.saveSetting('plugin_video_o2tv', 'o2tvuser', val)
            val = self.getSetting('plugin_video_o2tv', 'o2tvpwd')
            self.saveSetting('plugin_video_o2tv', 'o2tvpwd', val)
            val = self.getSetting('plugin_video_o2tv', 'login_method')
            self.saveSetting('plugin_video_o2tv', 'login_method', val)
            val = self.getSetting('plugin_video_o2tv', 'deviceid')
            self.saveSetting('plugin_video_o2tv', 'deviceid', val)
            val = self.getSetting('plugin_video_o2tv', 'auto_addon_order')
            self.saveSetting('plugin_video_o2tv', 'auto_addon_order', val)
            val = self.getSetting('plugin_video_online-files', 'webshare_enabled')
            self.saveSetting('plugin_video_online-files', 'webshare_enabled', val)
            val = self.getSetting('plugin_video_online-files', 'webshare_user')
            self.saveSetting('plugin_video_online-files', 'webshare_user', val)
            val = self.getSetting('plugin_video_online-files', 'webshare_pass')
            self.saveSetting('plugin_video_online-files', 'webshare_pass', val)
            val = self.getSetting('plugin_video_online-files', 'auto_addon_order')
            self.saveSetting('plugin_video_online-files', 'auto_addon_order', val)
            val = self.getSetting('plugin_video_markiza_sk', 'auto_addon_order')
            self.saveSetting('plugin_video_markiza_sk', 'auto_addon_order', val)
            val = self.getSetting('plugin_video_joj_sk', 'auto_addon_order')
            self.saveSetting('plugin_video_joj_sk', 'auto_addon_order', val)
            val = self.getSetting('plugin_video_rtvs_sk', 'auto_addon_order')
            self.saveSetting('plugin_video_rtvs_sk', 'auto_addon_order', val)

            self.saveSettingArchiv('skin', self.getSettingArchiv('skin'))
            self.saveSettingArchiv('showVideoInfo', self.getSettingArchiv('showVideoInfo'))
            self.saveSettingArchiv('downloadPoster', self.getSettingArchiv('downloadPoster'))
            self.saveSettingArchiv('posterImageMax', self.getSettingArchiv('posterImageMax'))
            self.saveSettingArchiv('csfdMode', self.getSettingArchiv('csfdMode'))
            self.saveSettingArchiv('downloadsPath', self.getSettingArchiv('downloadsPath'))
            self.saveSettingArchiv('posterPath', self.getSettingArchiv('posterPath'))
            self.saveSettingArchiv('tmpPath', self.getSettingArchiv('tmpPath'))
            self.saveSettingArchiv('defaultCategory', self.getSettingArchiv('defaultCategory'))
            self.saveSettingArchiv('clearMemory', self.getSettingArchiv('clearMemory'))
            
            
            # save settings
            bcpPath = '/tmp/oldarchivBackup'
            pth = settings.PLUGIN_PATH
            if os.path.isdir(bcpPath):
                shutil.rmtree(bcpPath)
            os.mkdir(bcpPath)
            os.mkdir(os.path.join(bcpPath,'resources'))
            osr = os.path.join(pth, 'osref.pyo')
            if os.path.isfile(osr):
                shutil.copyfile(osr, os.path.join(bcpPath, 'osref.pyo'))
            shutil.copyfile(os.path.join(pth, 'categories.xml'),os.path.join(bcpPath, 'categories.xml'))
            if os.path.isdir(os.path.join(pth,'resources')):
                try:
                    from distutils import dir_util
                    dir_util.copy_tree(os.path.join(pth,'resources','data'),os.path.join(bcpPath,'resources','data')) 
                except:
                    log.logError("Restore archiv data failed. %s"%traceback.format_exc())

            # remove old archivCZSK
            if callback:
                shutil.rmtree(pth)
        
            
            #restore
            if os.path.isfile(os.path.join(bcpPath, 'osref.pyo')):
                shutil.copy(os.path.join(bcpPath, 'osref.pyo'), os.path.join(settings.ENIGMA_PLUGIN_PATH,'archivCZSKpremium'))
            shutil.copy(os.path.join(bcpPath, 'categories.xml'), os.path.join(settings.ENIGMA_PLUGIN_PATH,'archivCZSKpremium'))
            if os.path.exists(os.path.join(bcpPath,'resources','data')):
                try:
                    from distutils import dir_util
                    dir_util.copy_tree(os.path.join(bcpPath,'resources','data'), os.path.join(settings.ENIGMA_PLUGIN_PATH,'archivCZSKpremium','resources','data'))
                except:
                    log.logError("Restore archiv data failed. %s"%traceback.format_exc())
            shutil.rmtree(bcpPath)

            strMsg = "%s" % _("Install ArchivCZSK premium complete.")
            self.archiv.session.openWithCallback(self.archiv.ask_restart_e2,
                    MessageBox,
                    strMsg,
                    type=MessageBox.TYPE_INFO)
        except:
            log.logDebug("UpdatePremium failed.\n%s"%traceback.format_exc())
            self.downloadCommit()