def doDowanloadSubtitle(self, callback, subItem, tmpDir, subDir):
     self.outerCallback = callback
     self.tmpData = {'subItem':subItem, 'tmpDir':tmpDir, 'subDir':subDir}
     # subItem === private_data
     
     tmpFile = tmpDir + OpenSubOrgProvider.TMP_FILE_NAME
     self.filesToRemove.append(tmpFile)
     self.tmpData['tmpFile'] = tmpFile
     tmpFile = " '{0}' ".format(tmpFile)
     
     if not subItem.get('napisy_24', False):
         params = {'User-Agent': OpenSubOrgProvider.USER_AGENT}
         url     = " '{0}' ".format(subItem['SubDownloadLink'])
         cmd = DMHelper.getBaseWgetCmd(params) + url + ' -O ' + tmpFile + ' > /dev/null 2>&1 '
         printDBG('doDowanloadSubtitle cmd[%s]' % cmd)
         self.iptv_sys = iptv_system(cmd, self._doDowanloadSubtitleCallback)
     else:
         tmpFileZip = self.tmpData['tmpFile'] + '.zip'
         self.tmpData['tmpFileZip'] = tmpFileZip
         self.filesToRemove.append(tmpFileZip)
         tmpFileZip = " '{0}' ".format(tmpFileZip)
         params = {'User-Agent': self.NAPISY24_USER_AGENT, 'Referer':'http://napisy24.pl/'}
         url     = "'http://napisy24.pl/run/pages/download.php?napisId={0}&typ=sr'".format(subItem['id'])
         cmd = DMHelper.getBaseWgetCmd(params) + url + ' -O ' + tmpFileZip + ' > /dev/null 2>&1 '
         printDBG('_doSearchSubtitleNapisy24Callback cmd[%s]' % cmd)
         self.iptv_sys = iptv_system(cmd, self._doDowanloadSubtitle24Callback)
    def doDowanloadSubtitle(self, callback, subItem, tmpDir, subDir):
        self.outerCallback = callback
        self.tmpData = {"subItem": subItem, "tmpDir": tmpDir, "subDir": subDir}
        # subItem === private_data

        tmpFile = tmpDir + OpenSubOrgProvider.TMP_FILE_NAME
        self.filesToRemove.append(tmpFile)
        self.tmpData["tmpFile"] = tmpFile
        tmpFile = " '{0}' ".format(tmpFile)

        if not subItem.get("napisy_24", False):
            params = {"User-Agent": OpenSubOrgProvider.USER_AGENT}
            url = " '{0}' ".format(subItem["SubDownloadLink"])
            cmd = DMHelper.getBaseWgetCmd(params) + url + " -O " + tmpFile + " > /dev/null 2>&1 "
            printDBG("doDowanloadSubtitle cmd[%s]" % cmd)
            self.iptv_sys = iptv_system(cmd, self._doDowanloadSubtitleCallback)
        else:
            tmpFileZip = self.tmpData["tmpFile"] + ".zip"
            self.tmpData["tmpFileZip"] = tmpFileZip
            self.filesToRemove.append(tmpFileZip)
            tmpFileZip = " '{0}' ".format(tmpFileZip)
            params = {"User-Agent": self.NAPISY24_USER_AGENT, "Referer": "http://napisy24.pl/"}
            url = "'http://napisy24.pl/run/pages/download.php?napisId={0}&typ=sr'".format(subItem["id"])
            cmd = DMHelper.getBaseWgetCmd(params) + url + " -O " + tmpFileZip + " > /dev/null 2>&1 "
            printDBG("_doSearchSubtitleNapisy24Callback cmd[%s]" % cmd)
            self.iptv_sys = iptv_system(cmd, self._doDowanloadSubtitle24Callback)
 def doDowanloadSubtitle(self, callback, subItem, tmpDir, subDir):
     self.outerCallback = callback
     self.tmpData = {'subItem':subItem, 'tmpDir':tmpDir, 'subDir':subDir}
     # subItem === private_data
     
     tmpFile = tmpDir + OpenSubOrgProvider.TMP_FILE_NAME
     self.filesToRemove.append(tmpFile)
     self.tmpData['tmpFile'] = tmpFile
     tmpFile = " '{0}' ".format(tmpFile)
     
     if not subItem.get('napisy_24', False):
         params = {'User-Agent': OpenSubOrgProvider.USER_AGENT}
         url     = " '{0}' ".format(subItem['SubDownloadLink'])
         cmd = DMHelper.getBaseWgetCmd(params) + url + ' -O ' + tmpFile + ' > /dev/null 2>&1 '
         printDBG('doDowanloadSubtitle cmd[%s]' % cmd)
         self.iptv_sys = iptv_system(cmd, self._doDowanloadSubtitleCallback)
     else:
         tmpFileZip = self.tmpData['tmpFile'] + '.zip'
         self.tmpData['tmpFileZip'] = tmpFileZip
         self.filesToRemove.append(tmpFileZip)
         tmpFileZip = " '{0}' ".format(tmpFileZip)
         params = {'User-Agent': self.NAPISY24_USER_AGENT, 'Referer':'http://napisy24.pl/'}
         url     = "'http://napisy24.pl/run/pages/download.php?napisId={0}&typ=sr'".format(subItem['id'])
         cmd = DMHelper.getBaseWgetCmd(params) + url + ' -O ' + tmpFileZip + ' > /dev/null 2>&1 '
         printDBG('_doSearchSubtitleNapisy24Callback cmd[%s]' % cmd)
         self.iptv_sys = iptv_system(cmd, self._doDowanloadSubtitle24Callback)
 def _doSearchMovieNapisy24(self):
     params = {'User-Agent': self.NAPISY24_USER_AGENT, 'Referer':'http://napisy24.pl/'}
     query = 'title={0}'.format(urllib.quote(self.tmpData['title']))
     url     = "'http://napisy24.pl/libs/webapi.php?{0}'".format(query)
     cmd = DMHelper.getBaseWgetCmd(params) + url + ' -O - 2> /dev/null '
     printDBG('_doSearchMovieNapisy24 cmd[%s]' % cmd)
     self.iptv_sys = iptv_system(cmd, self._doSearchMovieNapisy24Callback)
 def goGetEpisodeType(self, privateData):
     url  = "'http://www.imdb.com/title/tt{0}/episodes/_ajax?season={1}'".format(privateData['id'], privateData['season'])
     grep =  '?ref_=ttep_ep{0}"'.format(privateData['episode'])
     grep = " | grep '{0}'".format(grep)
     cmd  = DMHelper.getBaseWgetCmd({}) + url + ' -O - 2>/dev/null ' + grep
     printDBG('doGetEpisodes cmd[%s]' % cmd)
     self.iptv_sys = iptv_system(cmd, self._goGetEpisodeTypeCallback)
 def doGetItemType(self, callback, privateData):
     self.outerCallback = callback
     self.tmpData = {}
     self.itemTypeCache = {'type':'movie'}        
     url     = "'https://api.themoviedb.org/3/find/tt{0}?api_key={1}&external_source=imdb_id'".format(privateData['id'], base64.b64decode('NjMxMWY4MmQ1MjAxNDI2NWQ3NjVkMzk4MDJhYWZhYTc='))
     cmd = DMHelper.getBaseWgetCmd({}) + url + ' -O - 2> /dev/null '
     self.iptv_sys = iptv_system(cmd, self._doGetItemTypeCallback)
 def _doSearchMovieNapisy24(self):
     params = {'User-Agent': self.NAPISY24_USER_AGENT, 'Referer':'http://napisy24.pl/'}
     query = 'title={0}'.format(urllib.quote(self.tmpData['title']))
     url     = "'http://napisy24.pl/libs/webapi.php?{0}'".format(query)
     cmd = DMHelper.getBaseWgetCmd(params) + url + ' -O - 2> /dev/null '
     printDBG('_doSearchMovieNapisy24 cmd[%s]' % cmd)
     self.iptv_sys = iptv_system(cmd, self._doSearchMovieNapisy24Callback)
 def goGetEpisodeType(self, privateData):
     url  = "'http://www.imdb.com/title/tt{0}/episodes/_ajax?season={1}'".format(privateData['id'], privateData['season'])
     grep =  '?ref_=ttep_ep{0}"'.format(privateData['episode'])
     grep = " | grep '{0}'".format(grep)
     cmd  = DMHelper.getBaseWgetCmd({}) + url + ' -O - 2>/dev/null ' + grep
     printDBG('doGetEpisodes cmd[%s]' % cmd)
     self.iptv_sys = iptv_system(cmd, self._goGetEpisodeTypeCallback)
 def _doSearchMovieNapisy24(self):
     params = {"User-Agent": self.NAPISY24_USER_AGENT, "Referer": "http://napisy24.pl/"}
     query = "title={0}".format(urllib.quote(self.tmpData["title"]))
     url = "'http://napisy24.pl/libs/webapi.php?{0}'".format(query)
     cmd = DMHelper.getBaseWgetCmd(params) + url + " -O - 2> /dev/null "
     printDBG("_doSearchMovieNapisy24 cmd[%s]" % cmd)
     self.iptv_sys = iptv_system(cmd, self._doSearchMovieNapisy24Callback)
 def stepRemoveOldVersion(self):
     # if not config.plugins.iptvplayer.cleanup.value:
         # code = 1
         # self.stepFinished(1, "Pominięty.\nCzyszczenie w czasie aktualizacji jest wyłączone w ustawieniach pluginu.")
     # else:
     cmd = 'rm -rf "%s"/*' % ( os_path.join(self.ExtensionPath, 'IPTVPlayer') )
     printDBG('UpdateMainAppImpl.stepRemoveOldVersion cmd[%s]' % cmd)
     self.cmd = iptv_system( cmd, self.__removeOldVersionCmdFinished )
 def _doUnzipSubtitle24Callback(self, code, data):
     if 0 == code:
         # unzip file
         cmd = '%s "%s"' % (config.plugins.iptvplayer.uchardetpath.value, self.tmpData['tmpFile'])
         self.iptv_sys = iptv_system(cmd, self._doGetEncodingSubtitle24Callback)
     else:
         self.lastApiError = {'code':-999, 'message':_('unzip error - please check if utitlity unzip is available')}
         self.outerCallback(False, self.tmpData.get('tmpFileZip', ''))
 def __installNewVersionCmdFinished(self, status, outData):
     self.cmd = None
     if 0 != status:
         msg = _("Problem with installing the new version.\nStatus[%d], outData[%s]") % (status, outData)
         self.stepFinished(-1, msg)
     else:
         self.cmd = iptv_system( 'rm -rf ' + self.tmpDir + " && sync" , self.__doSyncCallBack )
     return
 def doGetItemTypeOLD(self, callback, privateData):
     self.outerCallback = callback
     self.tmpData = {}
     self.itemTypeCache = {"type": "movie"}
     url = "'http://www.omdbapi.com/?i=tt{0}&plot=short&r=json'".format(privateData["id"])
     cmd = DMHelper.getBaseWgetCmd({}) + url + " -O - 2> /dev/null "
     printDBG("doGetItemType cmd[%s]" % cmd)
     self.iptv_sys = iptv_system(cmd, self._doGetItemTypeCallback)
 def doGetItemTypeOLD(self, callback, privateData):
     self.outerCallback = callback
     self.tmpData = {}
     self.itemTypeCache = {'type':'movie'}        
     url     = "'http://www.omdbapi.com/?i=tt{0}&plot=short&r=json'".format(privateData['id'])
     cmd = DMHelper.getBaseWgetCmd({}) + url + ' -O - 2> /dev/null '
     printDBG('doGetItemType cmd[%s]' % cmd)
     self.iptv_sys = iptv_system(cmd, self._doGetItemTypeCallback)
Example #15
0
 def downloadFinished(self, status):
     if status != DMHelper.STS.DOWNLOADED:
         self["console"].setText(_("Download failed.\nStatus[%s]") % status)
     else:
         self["console"].setText(_('Subtitles downloaded successfully. [%s], conversion to UTF-8.') % self.downloader.getFullFileName())
         cmd = '%s "%s"' % (config.plugins.iptvplayer.uchardetpath.value, self.downloader.getFullFileName()) 
         printDBG("cmd[%s]" % cmd)
         self.workconsole = iptv_system(cmd, self.convertSubtitles)
 def doGetItemType(self, callback, privateData):
     self.outerCallback = callback
     self.tmpData = {'imdbid':privateData['id'], 'title':privateData['title']}
     self.itemTypeCache = {'type':'movie'}        
     url     = "'https://api.themoviedb.org/3/find/tt{0}?api_key={1}&external_source=imdb_id'".format(privateData['id'], base64.b64decode('NjMxMWY4MmQ1MjAxNDI2NWQ3NjVkMzk4MDJhYWZhYTc='))
     #printDBG(url)
     cmd = DMHelper.getBaseWgetCmd({}) + url + ' -O - 2> /dev/null '
     self.iptv_sys = iptv_system(cmd, self._doGetItemTypeCallback)
 def downloadFinished(self, status):
     if status != DMHelper.STS.DOWNLOADED:
         self["console"].setText(_("Download failed.\nStatus[%s]") % status)
     else:
         self["console"].setText(_('Subtitles downloaded successfully. [%s], conversion to UTF-8.') % self.downloader.getFullFileName())
         cmd = '%s "%s"' % (config.plugins.iptvplayer.uchardetpath.value, self.downloader.getFullFileName()) 
         printDBG("cmd[%s]" % cmd)
         self.workconsole = iptv_system(cmd, self.convertSubtitles)
 def _doUnzipSubtitle24Callback(self, code, data):
     if 0 == code:
         # unzip file
         cmd = '%s "%s"' % (config.plugins.iptvplayer.uchardetpath.value, self.tmpData['tmpFile'])
         self.iptv_sys = iptv_system(cmd, self._doGetEncodingSubtitle24Callback)
     else:
         self.lastApiError = {'code':-999, 'message':_('unzip error - please check if utitlity unzip is available')}
         self.outerCallback(False, self.tmpData.get('tmpFileZip', ''))
Example #19
0
 def stepRemoveOldVersion(self):
     # if not config.plugins.iptvplayer.cleanup.value:
     # code = 1
     # self.stepFinished(1, "Pominięty.\nCzyszczenie w czasie aktualizacji jest wyłączone w ustawieniach pluginu.")
     # else:
     cmd = 'rm -rf "%s"/*' % (os_path.join(self.ExtensionPath,
                                           'IPTVPlayer'))
     printDBG('UpdateMainAppImpl.stepRemoveOldVersion cmd[%s]' % cmd)
     self.cmd = iptv_system(cmd, self.__removeOldVersionCmdFinished)
Example #20
0
 def __installNewVersionCmdFinished(self, status, outData):
     self.cmd = None
     if 0 != status:
         msg = self.messages['problem_install'] % (status, outData)
         self.stepFinished(-1, msg)
     else:
         self.cmd = iptv_system('rm -rf ' + self.tmpDir + " && sync",
                                self.__doSyncCallBack)
     return
 def doGetItemType(self, callback, privateData):
     self.outerCallback = callback
     self.tmpData = {}
     self.itemTypeCache = {"type": "movie"}
     url = "'https://api.themoviedb.org/3/find/tt{0}?api_key={1}&external_source=imdb_id'".format(
         privateData["id"], base64.b64decode("NjMxMWY4MmQ1MjAxNDI2NWQ3NjVkMzk4MDJhYWZhYTc=")
     )
     cmd = DMHelper.getBaseWgetCmd({}) + url + " -O - 2> /dev/null "
     self.iptv_sys = iptv_system(cmd, self._doGetItemTypeCallback)
 def _doDowanloadSubtitle24Callback(self, code, data):
     if 0 == code:
         tmpFileZip = self.tmpData['tmpFileZip']
         tmpFile    = self.tmpData['tmpFile']
         # unzip file
         cmd = "unzip -po '{0}' -x Napisy24.pl.url > '{1}' 2>/dev/null".format(tmpFileZip, tmpFile)
         self.iptv_sys = iptv_system(cmd, self._doUnzipSubtitle24Callback)
     else:
         self.lastApiError = {'code':code, 'message':_('Download subtitles error.\nwget error code[%d].') % code}
         self.outerCallback(False, '')
 def _doDowanloadSubtitle24Callback(self, code, data):
     if 0 == code:
         tmpFileZip = self.tmpData["tmpFileZip"]
         tmpFile = self.tmpData["tmpFile"]
         # unzip file
         cmd = "unzip -po '{0}' -x Napisy24.pl.url > '{1}' 2>/dev/null".format(tmpFileZip, tmpFile)
         self.iptv_sys = iptv_system(cmd, self._doUnzipSubtitle24Callback)
     else:
         self.lastApiError = {"code": code, "message": _("Download subtitles error.\nwget error code[%d].") % code}
         self.outerCallback(False, "")
    def stepUnpackGraphicsArchive(self):
        if '' == self.serversList[self.currServIdx]['graphics_url']:
            self.stepFinished(0, _('Skipped.'))
            return

        cmd = 'tar -xzf "%s" -C "%s" 2>&1; PREV_RET=$?; rm -f "%s" > /dev/null 2>&1; (exit $PREV_RET)' % (
            self.graphicsSourceArchive,
            os_path.join(self.ExtensionTmpPath,
                         'IPTVPlayer/'), self.graphicsSourceArchive)
        self.cmd = iptv_system(cmd, self.__unpackCmdFinished)
    def stepUnpackIconsArchive(self):
        if '' == self.serversList[self.currServIdx]['icons_url'] or \
            not config.plugins.iptvplayer.ListaGraficzna.value:
            self.stepFinished(0, _('Skipped.'))
            return

        cmd = 'tar -xzf "%s" -C "%s" 2>&1; PREV_RET=$?; rm -f "%s" > /dev/null 2>&1; (exit $PREV_RET)' % (
            self.iconsSourceArchive,
            os_path.join(self.ExtensionTmpPath,
                         'IPTVPlayer/'), self.iconsSourceArchive)
        self.cmd = iptv_system(cmd, self.__unpackCmdFinished)
    def _getPage(self, callback, url, params={}, post_data=None):
        if 'User-Agent' not in params: params['User-Agent'] =OpenSubOrgProvider.USER_AGENT
        
        if None != post_data:
            post_data = " --post-data '{0}' ".format(post_data)
        else: post_data = ''
            
        url = " '{0}' ".format(url)
        cmd = DMHelper.getBaseWgetCmd(params) + post_data + url + ' -O - 2> /dev/null'

        self.iptv_sys = iptv_system(cmd, callback)
Example #27
0
 def __installNewVersionCmdFinished(self, status, outData):
     self.cmd = None
     if 0 != status:
         msg = _(
             "Problem with installing the new version.\nStatus[%d], outData[%s]"
         ) % (status, outData)
         self.stepFinished(-1, msg)
     else:
         self.cmd = iptv_system('rm -rf ' + self.tmpDir + " && sync",
                                self.__doSyncCallBack)
     return
 def doGetEpisodes(self, callback, privateData, episodeData):
     self.outerCallback = callback
     self.tmpData = {'private_data':privateData, 'episode_data':episodeData}
     
     imdbid  = self.itemTypeCache['imdbid']
     season  = episodeData.get('season', -1)
     episode = episodeData.get('episode', -1)
     
     cmd = GetPyScriptCmd('imdb')  + ' episodes {0} {1} {2} 2>&1 '.format(imdbid, season, episode)
     printDBG('doGetEpisodes cmd[%s]' % cmd)
     self.iptv_sys = iptv_system(cmd, self._doGetEpisodesCallback)
    def _getPage(self, callback, url, params={}, post_data=None):
        if 'User-Agent' not in params: params['User-Agent'] =OpenSubOrgProvider.USER_AGENT
        
        if None != post_data:
            post_data = " --post-data '{0}' ".format(post_data)
        else: post_data = ''
            
        url = " '{0}' ".format(url)
        cmd = DMHelper.getBaseWgetCmd(params) + post_data + url + ' -O - 2> /dev/null'

        self.iptv_sys = iptv_system(cmd, callback)
    def stepUnpackArchive(self):
        self.destinationArchive  = os_path.join(self.tmpDir , 'iptv_archive')
        self.ExtensionTmpPath    = os_path.join(self.destinationArchive, self.serversList[self.currServIdx]['subdir'])
        printDBG('UpdateMainAppImpl.stepUnpackArchive: sourceArchive[%s] -> destinationArchive[%s] -> ExtensionTmpPath[%s]' % (self.sourceArchive, self.destinationArchive, self.ExtensionTmpPath) )
        sts, msg = self.createPath(self.destinationArchive)
        if not sts:
            self.stepFinished(-1, msg)
            return

        cmd = 'tar -xzf "%s" -C "%s" 2>&1' % (self.sourceArchive, self.destinationArchive)
        self.cmd = iptv_system( cmd, self.__unpackCmdFinished )
    def stepRemoveUnnecessaryFiles(self):
        printDBG("stepRemoveUnnecessaryFiles")
        playerSelectorPath = os_path.join(self.ExtensionTmpPath,
                                          'IPTVPlayer/icons/PlayerSelector/')
        logosPath = os_path.join(self.ExtensionTmpPath,
                                 'IPTVPlayer/icons/logos/')
        hostsPath = os_path.join(self.ExtensionTmpPath, 'IPTVPlayer/hosts/')
        webPath = os_path.join(self.ExtensionTmpPath, 'IPTVPlayer/Web/')
        cmds = []
        iconSize = int(config.plugins.iptvplayer.IconsSize.value)
        if not config.plugins.iptvplayer.ListaGraficzna.value:
            iconSize = 0
        for size in [135, 120, 100]:
            if size != iconSize:
                cmds.append('rm -f %s' %
                            (playerSelectorPath + '*{0}.png'.format(size)))
                cmds.append(
                    'rm -f %s' %
                    (playerSelectorPath + 'marker{0}.png'.format(size + 45)))

        # remove Web iterface module if not needed
        if not config.plugins.iptvplayer.IPTVWebIterface.value:
            cmds.append('rm -rf %s' % (webPath))

        # removing not needed hosts
        if config.plugins.iptvplayer.remove_diabled_hosts.value:
            enabledHostsList = GetEnabledHostsList()
            hostsFromList = GetHostsList(fromList=True, fromHostFolder=False)
            hostsFromFolder = GetHostsList(fromList=False, fromHostFolder=True)
            hostsToRemove = []
            for hostItem in hostsFromList:
                if hostItem not in enabledHostsList and hostItem in hostsFromFolder:
                    cmds.append(
                        'rm -f %s' %
                        (playerSelectorPath + '{0}*.png'.format(hostItem)))
                    cmds.append('rm -f %s' %
                                (logosPath + '{0}logo.png'.format(hostItem)))
                    cmds.append('rm -f %s' %
                                (hostsPath + 'host{0}.py*'.format(hostItem)))

            # we need to prepare temporary file with removing cmds because cmd can be to long
            cmdFilePath = GetTmpDir('.iptv_remove_cmds.sh')
            cmds.insert(0, '#!/bin/sh')
            cmds.append('exit 0\n')
            text = '\n'.join(cmds)
            WriteTextFile(cmdFilePath, text, 'ascii')
            cmd = '/bin/sh "{0}" '.format(cmdFilePath)
            #cmd = '/bin/sh "{0}" && rm -rf "{1}" '.format(cmdFilePath, cmdFilePath)
        else:
            cmd = ' && '.join(cmds)
        printDBG("stepRemoveUnnecessaryFiles cmdp[%s]" % cmd)
        self.cmd = iptv_system(cmd, self.__removeUnnecessaryFilesCmdFinished)
 def _doSearchSubtitleNapisy24(self, type='imdb'):
     self.tmpData['type'] = type
     params = {'User-Agent': self.NAPISY24_USER_AGENT, 'Referer':'http://napisy24.pl/'}
     
     if type == 'imdb':
         query = 'imdb=tt{0}'.format(self.tmpData['imdbid'])
     else:
         query = 'title={0}'.format(urllib.quote(self.tmpData['title']))
     
     url     = "'http://napisy24.pl/libs/webapi.php?{0}'".format(query)
     cmd = DMHelper.getBaseWgetCmd(params) + url + ' -O - 2> /dev/null '
     printDBG('_doSearchSubtitleNapisy24Callback cmd[%s]' % cmd)
     self.iptv_sys = iptv_system(cmd, self._doSearchSubtitleNapisy24Callback)
    def _doSearchSubtitleNapisy24(self, type="imdb"):
        self.tmpData["type"] = type
        params = {"User-Agent": self.NAPISY24_USER_AGENT, "Referer": "http://napisy24.pl/"}

        if type == "imdb":
            query = "imdb=tt{0}".format(self.tmpData["imdbid"])
        else:
            query = "title={0}".format(urllib.quote(self.tmpData["title"]))

        url = "'http://napisy24.pl/libs/webapi.php?{0}'".format(query)
        cmd = DMHelper.getBaseWgetCmd(params) + url + " -O - 2> /dev/null "
        printDBG("_doSearchSubtitleNapisy24Callback cmd[%s]" % cmd)
        self.iptv_sys = iptv_system(cmd, self._doSearchSubtitleNapisy24Callback)
 def _doSearchSubtitleNapisy24(self, type='imdb'):
     self.tmpData['type'] = type
     params = {'User-Agent': self.NAPISY24_USER_AGENT, 'Referer':'http://napisy24.pl/'}
     
     if type == 'imdb':
         query = 'imdb=tt{0}'.format(self.tmpData['imdbid'])
     else:
         query = 'title={0}'.format(urllib.quote(self.tmpData['title']))
     
     url     = "'http://napisy24.pl/libs/webapi.php?{0}'".format(query)
     cmd = DMHelper.getBaseWgetCmd(params) + url + ' -O - 2> /dev/null '
     printDBG('_doSearchSubtitleNapisy24Callback cmd[%s]' % cmd)
     self.iptv_sys = iptv_system(cmd, self._doSearchSubtitleNapisy24Callback)
 def stepRemoveUnnecessaryFiles(self):
     printDBG("stepRemoveUnnecessaryFiles")
     path = os_path.join(self.ExtensionTmpPath, 'IPTVPlayer/icons/PlayerSelector/')
     cmds = []
     iconSize = int(config.plugins.iptvplayer.IconsSize.value)
     if not config.plugins.iptvplayer.ListaGraficzna.value:
         iconSize = 0
     for size in [135, 120, 100]:
         if size != iconSize:
             cmds.append('rm -f %s' % (path + '*{0}.png'.format(size)) )
             cmds.append('rm -f %s' % (path + 'marker{0}.png'.format(size + 45)) )
     cmd = ' && '.join(cmds)
     printDBG("stepRemoveUnnecessaryFiles cmdp[%s]" % cmd)
     self.cmd = iptv_system( cmd, self.__removeUnnecessaryFilesCmdFinished )
 def doGetEpisodesOld(self, callback, privateData, episodeData):
     self.outerCallback = callback
     self.tmpData = {'private_data':privateData, 'episode_data':episodeData}
     
     year = self.itemTypeCache.get('year', '')
     if year != '':
         year = '&year=%s' % year
     else:
         year = ''
     
     url     = "'http://imdbapi.poromenos.org/js/?name={0}{1}'".format(urllib.quote(self.itemTypeCache.get('title', '')), year)
     cmd = DMHelper.getBaseWgetCmd({}) + url + ' -O - 2> /dev/null '
     printDBG('doGetEpisodes cmd[%s]' % cmd)
     self.iptv_sys = iptv_system(cmd, self._doGetEpisodesCallback)
 def doGetEpisodes(self, callback, privateData, episodeData):
     self.outerCallback = callback
     self.tmpData = {'private_data':privateData, 'episode_data':episodeData}
     
     year = self.itemTypeCache.get('year', '')
     if year != '':
         year = '&year=%s' % year
     else:
         year = ''
     
     url     = "'http://imdbapi.poromenos.org/js/?name={0}{1}'".format(urllib.quote(self.itemTypeCache.get('title', '')), year)
     cmd = DMHelper.getBaseWgetCmd({}) + url + ' -O - 2> /dev/null '
     printDBG('doGetEpisodes cmd[%s]' % cmd)
     self.iptv_sys = iptv_system(cmd, self._doGetEpisodesCallback)
Example #38
0
 def _system(self, session, cmd):
     printDBG("iptv_execute._system: Here we must be in main thread context: [%s]" % threading.current_thread());
     
     try: terminated = self.Thread._iptvplayer_ext['terminated']
     except Exception:
         printExc()
         terminated = False
     
     if not terminated and self.Thread.isAlive():
         try: self.Thread._iptvplayer_ext['iptv_execute'] = self
         except Exception: printExc()
         self.iptv_system = iptv_system(cmd, self._callBack)
         
         return iptv_execute.WAIT_RET
     return
 def reportHostCrash(self, ret):
     try:
         if ret:
             try: 
                 exceptStack = self.workThread.getExceptStack()
                 reporter = GetPluginDir('iptvdm/reporthostcrash.py')
                 msg = urllib_quote('%s|%s|%s|%s' % ('HOST_CRASH', IPTVSubDownloaderWidget.IPTV_VERSION, self.hostName, self.getCategoryPath()))
                 self.crashConsole = iptv_system('python "%s" "http://iptvplayer.vline.pl/reporthostcrash.php?msg=%s" "%s" 2&>1 > /dev/null' % (reporter, msg, exceptStack))
                 printDBG(msg)
             except Exception:
                 printExc()
         self.workThread = None
         self.prevSelList = []
         self.back_pressed()
     except Exception: printExc()
    def stepInstallNewVersion(self):
        cmd = ''
        try:
            url = "http://iptvplayer.vline.pl/check.php?ver=%s&type=%s" % (
                self.serversList[self.currServIdx]['version'],
                self.serversList[self.currServIdx]['pyver'])
            cmd = '%s "%s" -O - > /dev/null 2>&1; ' % (
                config.plugins.iptvplayer.wgetpath.value, url)
        except Exception:
            printExc()

        cmd += 'cp -rf "%s"/* "%s"/ 2>&1' % (os_path.join(
            self.ExtensionTmpPath,
            'IPTVPlayer'), os_path.join(self.ExtensionPath, 'IPTVPlayer'))
        printDBG('UpdateMainAppImpl.stepInstallNewVersion cmd[%s]' % cmd)
        self.cmd = iptv_system(cmd, self.__installNewVersionCmdFinished)
 def stepRemoveUnnecessaryFiles(self):
     printDBG("stepRemoveUnnecessaryFiles")
     path = os_path.join(self.ExtensionTmpPath,
                         'IPTVPlayer/icons/PlayerSelector/')
     cmds = []
     iconSize = int(config.plugins.iptvplayer.IconsSize.value)
     if not config.plugins.iptvplayer.ListaGraficzna.value:
         iconSize = 0
     for size in [135, 120, 100]:
         if size != iconSize:
             cmds.append('rm -f %s' % (path + '*{0}.png'.format(size)))
             cmds.append('rm -f %s' %
                         (path + 'marker{0}.png'.format(size + 45)))
     cmd = ' && '.join(cmds)
     printDBG("stepRemoveUnnecessaryFiles cmdp[%s]" % cmd)
     self.cmd = iptv_system(cmd, self.__removeUnnecessaryFilesCmdFinished)
    def doGetEpisodes(self, callback, privateData, episodeData):
        self.outerCallback = callback
        self.tmpData = {"private_data": privateData, "episode_data": episodeData}

        year = self.itemTypeCache.get("year", "")
        if year != "":
            year = "&year=%s" % year
        else:
            year = ""

        url = "'http://imdbapi.poromenos.org/js/?name={0}{1}'".format(
            urllib.quote(self.itemTypeCache.get("title", "")), year
        )
        cmd = DMHelper.getBaseWgetCmd({}) + url + " -O - 2> /dev/null "
        printDBG("doGetEpisodes cmd[%s]" % cmd)
        self.iptv_sys = iptv_system(cmd, self._doGetEpisodesCallback)
Example #43
0
    def stepUnpackArchive(self):
        self.destinationArchive = os_path.join(self.tmpDir, 'iptv_archive')
        self.ExtensionTmpPath = os_path.join(
            self.destinationArchive,
            self.serversList[self.currServIdx]['subdir'])
        printDBG(
            'UpdateMainAppImpl.stepUnpackArchive: sourceArchive[%s] -> destinationArchive[%s] -> ExtensionTmpPath[%s]'
            % (self.sourceArchive, self.destinationArchive,
               self.ExtensionTmpPath))
        sts, msg = self.createPath(self.destinationArchive)
        if not sts:
            self.stepFinished(-1, msg)
            return

        cmd = 'tar -xzf "%s" -C "%s" 2>&1' % (self.sourceArchive,
                                              self.destinationArchive)
        self.cmd = iptv_system(cmd, self.__unpackCmdFinished)
    def stepExecuteUserScripts(self, init=True, code=0, msg=''):
        # get users scripts
        if init:
            self.customUserCmdList = self.__getUserCmdsList()
            if 0 <len(self.customUserCmdList):
                self.customUserMsg = ''
            else:
                self.customUserMsg = _("No user scripts.")

        self.customUserMsg += msg
        if 0 != code:
            self.stepFinished(-1, _("Problem with user script execution [%s].") + self.customUserMsg)
        elif 0 < len(self.customUserCmdList):
            cmd = self.customUserCmdList.pop()
            self.cmd = iptv_system( cmd, self.__userCmdFinished )
        else:
            self.stepFinished(0, _("Completed.\n") + self.customUserMsg)
    def stepCopyPostInatalledBinaries(self, init=True, code=0, msg=''):
        # get users scripts
        if init:
            self.copyBinariesCmdList = []
            if fileExists("%s/libs/iptvsubparser/_subparser.so" %
                          os_path.join(self.ExtensionPath, 'IPTVPlayer')):
                self.copyBinariesCmdList.append(
                    'cp -f "%s/libs/iptvsubparser/_subparser.so" "%s/libs/iptvsubparser/_subparser.so"  2>&1 '
                    % (os_path.join(self.ExtensionPath, 'IPTVPlayer'),
                       os_path.join(self.ExtensionTmpPath, 'IPTVPlayer')))

            binPath = "%s/bin/" % (os_path.join(self.ExtensionPath,
                                                'IPTVPlayer'))
            binariesTab = [('exteplayer3', config.plugins.iptvplayer.exteplayer3path.value), \
                           ('gstplayer', config.plugins.iptvplayer.gstplayerpath.value), \
                           ('wget', config.plugins.iptvplayer.wgetpath.value), \
                           ('hlsdl', config.plugins.iptvplayer.hlsdlpath.value), \
                           ('cmdwrap', config.plugins.iptvplayer.cmdwrappath.value), \
                           ('duk', config.plugins.iptvplayer.dukpath.value), \
                           ('f4mdump', config.plugins.iptvplayer.f4mdumppath.value), \
                           ('uchardet', config.plugins.iptvplayer.uchardetpath.value)]
            for binItem in binariesTab:
                if binPath in binItem[1]:
                    self.copyBinariesCmdList.append(
                        'cp -f "%s/%s" "%s/bin/"  2>&1 ' %
                        (binPath, binItem[0],
                         os_path.join(self.ExtensionTmpPath, 'IPTVPlayer')))

            if 0 < len(self.copyBinariesCmdList):
                self.copyBinariesMsg = ''
            else:
                self.copyBinariesMsg = _("Nothing to do here.")

        self.copyBinariesMsg += msg
        if 0 != code:
            self.stepFinished(
                -1,
                _("Problem with copy binary.\n") + self.copyBinariesMsg)
        elif 0 < len(self.copyBinariesCmdList):
            cmd = self.copyBinariesCmdList.pop()
            self.cmd = iptv_system(cmd, self.__copyBinariesCmdFinished)
        else:
            self.stepFinished(0, _("Completed.\n") + self.copyBinariesMsg)
Example #46
0
    def stepExecuteUserScripts(self, init=True, code=0, msg=''):
        # get users scripts
        if init:
            self.customUserCmdList = self.__getUserCmdsList()
            if 0 < len(self.customUserCmdList):
                self.customUserMsg = ''
            else:
                self.customUserMsg = _("No user scripts.")

        self.customUserMsg += msg
        if 0 != code:
            self.stepFinished(
                -1,
                _("Problem with user script execution [%s].") +
                self.customUserMsg)
        elif 0 < len(self.customUserCmdList):
            cmd = self.customUserCmdList.pop()
            self.cmd = iptv_system(cmd, self.__userCmdFinished)
        else:
            self.stepFinished(0, _("Completed.\n") + self.customUserMsg)
 def stepRemoveUnnecessaryFiles(self):
     printDBG("stepRemoveUnnecessaryFiles")
     playerSelectorPath = os_path.join(self.ExtensionTmpPath, 'IPTVPlayer/icons/PlayerSelector/')
     logosPath = os_path.join(self.ExtensionTmpPath, 'IPTVPlayer/icons/logos/')
     hostsPath = os_path.join(self.ExtensionTmpPath, 'IPTVPlayer/hosts/')
     cmds = []
     iconSize = int(config.plugins.iptvplayer.IconsSize.value)
     if not config.plugins.iptvplayer.ListaGraficzna.value:
         iconSize = 0
     for size in [135, 120, 100]:
         if size != iconSize:
             cmds.append('rm -f %s' % (playerSelectorPath + '*{0}.png'.format(size)) )
             cmds.append('rm -f %s' % (playerSelectorPath + 'marker{0}.png'.format(size + 45)) )
     
     # removing not needed hosts
     if config.plugins.iptvplayer.remove_diabled_hosts.value:
         enabledHostsList = GetEnabledHostsList()
         hostsFromList    = GetHostsList(fromList=True, fromHostFolder=False)
         hostsFromFolder  = GetHostsList(fromList=False, fromHostFolder=True)
         hostsToRemove = []
         for hostItem in hostsFromList:
             if hostItem not in enabledHostsList and hostItem in hostsFromFolder:
                 cmds.append('rm -f %s' % (playerSelectorPath + '{0}*.png'.format(hostItem)) )
                 cmds.append('rm -f %s' % (logosPath + '{0}logo.png'.format(hostItem)) )
                 cmds.append('rm -f %s' % (hostsPath + 'host{0}.py*'.format(hostItem)) )
             
         # we need to prepare temporary file with removing cmds because cmd can be to long
         cmdFilePath = GetTmpDir('.iptv_remove_cmds.sh')
         cmds.insert(0, '#!/bin/sh')
         cmds.append('exit 0\n')
         text = '\n'.join(cmds)
         WriteTextFile(cmdFilePath, text, 'ascii')
         cmd = '/bin/sh "{0}" '.format(cmdFilePath)
         #cmd = '/bin/sh "{0}" && rm -rf "{1}" '.format(cmdFilePath, cmdFilePath)
     else:
         cmd = ' && '.join(cmds)
     printDBG("stepRemoveUnnecessaryFiles cmdp[%s]" % cmd)
     self.cmd = iptv_system( cmd, self.__removeUnnecessaryFilesCmdFinished )
Example #48
0
 def stepInstallNewVersion(self):
     cmd = 'cp -rf "%s"/* "%s"/ 2>&1' % (os_path.join(
         self.ExtensionTmpPath,
         'IPTVPlayer'), os_path.join(self.ExtensionPath, 'IPTVPlayer'))
     printDBG('UpdateMainAppImpl.stepInstallNewVersion cmd[%s]' % cmd)
     self.cmd = iptv_system(cmd, self.__installNewVersionCmdFinished)
Example #49
0
 def _system(self, session, cmd):
     printDBG("iptv_execute._system: Here we must be in main thread context: [%s]" % threading.current_thread());
     self.iptv_system = iptv_system(cmd, self._callBack)
     return iptv_execute.WAIT_RET
Example #50
0
 def isWorkingCorrectly(self, callBackFun):
     self.iptv_sys = iptv_system( "wget 2>&1 ", boundFunction(self._checkWorkingCallBack, callBackFun) )
 def _dummyCall(self, callback):
     self._methodCallBack = callback
     cmd = "sleep 0 > > /dev/null 2>&1"
     self.iptv_sys = iptv_system(cmd, callback)
 def isWorkingCorrectly(self, callBackFun):
     self.iptv_sys = iptv_system( "python " + DMHelper.GET_PWGET_PATH() + " 2>&1", boundFunction(self._checkWorkingCallBack, callBackFun) )
 def stepInstallNewVersion(self):
     cmd = 'cp -rf "%s"/* "%s"/ 2>&1' % (os_path.join(self.ExtensionTmpPath, 'IPTVPlayer'), os_path.join(self.ExtensionPath, 'IPTVPlayer'))
     printDBG('UpdateMainAppImpl.stepInstallNewVersion cmd[%s]' % cmd)
     self.cmd = iptv_system( cmd, self.__installNewVersionCmdFinished )
Example #54
0
 def isWorkingCorrectly(self, callBackFun):
     self.iptv_sys = iptv_system(
         DMHelper.GET_FFMPEG_PATH() + ' -version ' + " 2>&1 ",
         boundFunction(self._checkWorkingCallBack, callBackFun))
 def isWorkingCorrectly(self, callBackFun):
     self.iptv_sys = iptv_system( 'ffmpeg -version ' + " 2>&1 ", boundFunction(self._checkWorkingCallBack, callBackFun) )
 def _isWgetWorkingCorrectly(self, callBackFun):
     self.iptv_sys = iptv_system( DMHelper.GET_WGET_PATH() + " -V 2>&1 ", boundFunction(self._checkWgetWorkingCallBack, callBackFun) )
Example #57
0
 def _detect(self):
     self.cmd = iptv_system(self.cmdTabs[self.detectIdx], self._cmdFinished)
Example #58
0
 def isWorkingCorrectly(self, callBackFun):
     self.iptv_sys = iptv_system(
         DMHelper.GET_WGET_PATH() + " -V 2>&1 ",
         boundFunction(self._checkWorkingCallBack, callBackFun))
 def _RealDoSearchMovie(self):
     cmd = GetPyScriptCmd('imdb')  + ' find_title "{0}" 2>&1 '.format(self.tmpData['title'])
     printDBG('_RealDoSearchMovie cmd[%s]' % cmd)
     self.iptv_sys = iptv_system(cmd, self._doSearchMovieCallback)