Example #1
0
    def exploreItem(self, cItem):
        printDBG("HDFilmeTV.exploreItem")
 
        params = MergeDicts(self.defaultParams, {'user-agent': self.USER_AGENT, 'referer': self.MAIN_URL, "accept-encoding" : "gzip", "accept" : "text/html"})

        sts, data = self.getPageCF(cItem['url'], params)
        #printDBG(data)
        if not sts: return

        movieId = self.cm.ph.getSearchGroups(data, '''data-movie-id=['"]([^'^"]+?)['"]''')[0]
        printDBG("movieId ------->" + movieId)
        
        trailerUrl = ''
        linksPageUrl = ''
        
        links = re.findall('''<a[^>]*?class="btn btn-xemnow pull-right"[^>]*?href=['"]([^'^"]+?)['"][^>]*?>(.*?)</a>''', data, re.S)
        for l in links:
            if 'Trailer' in l[1]:
                trailerUrl = l[0]
            elif 'STREAM' in l[1]:
                linksPageUrl = l[0]
        
        # trailer section
        if trailerUrl:
            if trailerUrl == "javascript:":
                # find url in javascript code
                printDBG("HDFilmeTV.exploreItem. Find trailer url in javascript code")
                movieData = self.getMovieDatainJS(data)
                if 'id' in movieData:
                    trailerUrl = self.getTrailerUrlinJS(data, movieData)
                    printDBG("trailerUrl: \"%s\" " % trailerUrl)
                    params['referer'] = movieData['url']
                    sts, trailer_data = self.getPageCF(trailerUrl, params)
                    if not sts: 
                        return
                    #printDBG(data)

                    # find url in iframe
                    #<iframe class="film-screen-content" width="100%" height="100%" frameborder="0" allowfullscreen="" allow="autoplay" src="https://www.youtube.com/embed/JH0WldpM8Hw?autohide=1&fs=1&modestbranding=1&iv_load_policy=3&rel=0&showinfo=0&version=2&hd=0&fs=0&enablejsapi=1&playerapiid=ytplayer&autoplay=1&loop=1"></iframe>

                    tmp = self.cm.ph.getDataBeetwenMarkers(trailer_data, '<iframe', '</iframe>')[1] 
                    trailerUrl = self.cm.ph.getSearchGroups(tmp, '''src=['"]([^'^"]+?)['"]''')[0]
                    params = dict(cItem)
                    params.update({'good_for_fav': False, 'title':'%s [%s]' % (cItem['title'], _('Trailer')), 'urls':[{'name':'trailer', 'url': strwithmeta(trailerUrl.replace('&amp;', '&'), {'trailer': 1}), 'need_resolve':1}]})
                    self.addVideo(params)
            else:
                trailerUrl = self.getFullUrl(trailerUrl)
                params = dict(cItem)
                params.update({'good_for_fav': False, 'title':'%s [%s]' % (cItem['title'], _('Trailer')), 'urls':[{'name':'trailer', 'url' : strwithmeta(trailerUrl.replace('&amp;', '&'), {'trailer': 1}), 'need_resolve':1}]})
                self.addVideo(params)
        
        # find links page url
        # example
        #<a title="The Ranch staffel 4 Stream" class="btn btn-xemnow pull-right" style="margin-left:5px" href="https://hdfilme.cc/the-ranch-staffel-4-13803-stream/folge-1">
        printDBG("HDFilmeTV.exploreItem. Find url of page with links - often url + '/deutsch' ")

        sts, linkspage_data = self.getPageCF(linksPageUrl, params)
        if not sts: 
            return
        
        #printDBG(data)
        #printDBG(">>>>>>>>>>>>>>>>>>>>>>>>")
        
        episodesTab = []
        episodesLinks = {}

        data=[]
        parts = self.cm.ph.getAllItemsBeetwenMarkers(linkspage_data, '<section class="box">', '</section>')
        for part in parts:
            data_part = self.cm.ph.getAllItemsBeetwenMarkers(part, '<i class="fa fa-chevron-right">', '</ul>') #'<ul class="list-inline list-film"'
            if data_part:
                data.extend(data_part)
        
        for server in data:
            serverName = self.cleanHtmlStr( self.cm.ph.getDataBeetwenMarkers(server, '<i ', '</div>')[1] )
            serverData = ph.findall(server, '<li>', '</li>')
            for link in serverData:
                #printDBG("----->" + link)
                episodeName = self.cleanHtmlStr( link )
                episodeUrl  = self.getFullUrl( self.cm.ph.getSearchGroups(link, '''href=['"]([^'^"]+?)['"]''')[0] )
                episodeId = self.cm.ph.getSearchGroups(link, '''data-episode-id=['"]([^'^"]+?)['"]''')[0]
                
                if not episodeUrl.startswith('http'): 
                    continue
                if episodeName not in episodesTab:
                    episodesTab.append(episodeName)
                    episodesLinks[episodeName] = []
                
                params={'name':serverName, 'url': strwithmeta(episodeUrl.replace('&amp;', '&'), {'episodeId':episodeId, 'movieId': movieId}) , 'need_resolve':1}
                #printDBG("------------->" + str(params))
                episodesLinks[episodeName].append(params)
        
        baseTitleReObj = re.compile('''staffel\s*[0-9]+?$''', flags=re.IGNORECASE)
        baseTitle = cItem['title']
        season = self.cm.ph.getSearchGroups(cItem['url'], '''staf[f]+?el-([0-9]+?)-''')[0]
        if season == '':
            season = self.cm.ph.getSearchGroups(baseTitle, '''staffel\s*([0-9]+?)$''', ignoreCase=True)[0]
            if season != '': baseTitle = baseTitleReObj.sub('', baseTitle, 1).strip()
        
        try: episodesTab.sort(key=lambda item: self.c_int(item))
        except Exception:
            printExc()
        for episode in episodesTab:
            title = baseTitle
            if season != '': title += ': ' + 's%se%s'% (season.zfill(2), episode.zfill(2))
            elif len(episodesTab) > 1: title += ': ' + 'e%s'% (episode.zfill(2))
            params = dict(cItem)
            params.update({'good_for_fav': False, 'title':title, 'urls': episodesLinks[episode]})
            self.addVideo(params)
Example #2
0
    def exploreItem(self, cItem):
        printDBG("VidCorn.exploreItem")
        self.cacheLinks = {}

        if not self.loggedIn:
            self.sessionEx.open(MessageBox,
                                'Debes iniciar sesión para ver los enlaces.',
                                type=MessageBox.TYPE_ERROR,
                                timeout=10)

        sts, data = self.getPage(cItem['url'])
        if not sts: return
        cUrl = self.getFullUrl(self.cm.meta['url'])
        self.setMainUrl(cUrl)

        desc = []
        descObj = self.getArticleContent(cItem, data)[0]
        for item in descObj['other_info']['custom_items_list']:
            desc.append(item[1])
        desc = ' | '.join(desc) + '[/br]' + descObj['text']

        trailer = self.cm.ph.getDataBeetwenNodes(data,
                                                 ('<div', '>', 'trailer'),
                                                 ('<button', '>', 'onclick'),
                                                 False)[1]
        printDBG(trailer)
        title = self.cleanHtmlStr(trailer)
        trailer = self.getFullUrl(
            self.cm.ph.getSearchGroups(
                trailer, '''<iframe[^>]+?src=['"]([^"^']+?)["']''', 1,
                True)[0], cUrl)
        if trailer:
            params = dict(cItem)
            params.update({
                'good_for_fav': False,
                'title': title,
                'url': strwithmeta(trailer, {'Referer': cUrl}),
                'desc': desc,
                'prev_url': cUrl
            })
            self.addVideo(params)

        movieId = self.cm.ph.getSearchGroups(
            data, '''data\-movie\-id=['"]([^"^']+?)["']''', 1, True)[0]
        if not movieId: return

        url = self.getFullUrl('/services/fetch_links')
        sts, data = self.getPage(url,
                                 post_data={
                                     'movie': movieId,
                                     'data_type': cItem['f_type']
                                 })
        if not sts: return

        linksTab = self._getLinks(cUrl, data)
        if len(linksTab):
            self.cacheLinks[cUrl] = linksTab
            params = dict(cItem)
            params.update({
                'good_for_fav': False,
                'url': cUrl,
                'desc': desc,
                'prev_url': cUrl
            })
            self.addVideo(params)
        else:
            data = self.cm.ph.rgetAllItemsBeetwenNodes(
                data, ('</div', '>'), ('<a', '>', 'data-season'))
            for seasonData in data:
                episodes = []
                sTitle = self.cleanHtmlStr(
                    self.cm.ph.getDataBeetwenMarkers(seasonData, '<h4',
                                                     '</h4>')[1])
                sNum = self.cm.ph.getSearchGroups(
                    seasonData, '''data\-season=['"]([^"^']+?)["']''', 1,
                    True)[0]

                seasonData = self.cm.ph.getAllItemsBeetwenNodes(
                    seasonData.split('panel-body', 1)[-1],
                    ('<a', '>', '#temporada'), ('</a', '>'))
                for item in seasonData:
                    episodeId = self.cm.ph.getSearchGroups(
                        item, '''data\-episodio=['"]([^"^']+?)["']''', 1,
                        True)[0]
                    url = cItem['url'] + self.cm.ph.getSearchGroups(
                        item, '''href=['"](#[^"^']+?)["']''', 1, True)[0]

                    tab = []
                    tmp = self.cm.ph.getAllItemsBeetwenMarkers(
                        item, '<span', '</span>')
                    for t in tmp:
                        t = self.cleanHtmlStr(t)
                        if t: tab.append(t)
                    if len(tab):
                        eNum = tab[0]
                    else:
                        eNum = url.rsplit('-', 1)[-1]

                    if len(tab) > 1:
                        title = tab[1]
                    else:
                        title = ''
                    #desc = ' | '.join(tab[2:])
                    tab = []
                    tmp = self.cm.ph.getAllItemsBeetwenMarkers(
                        item, '<small', '</small>')
                    for t in tmp:
                        t = self.cleanHtmlStr(t)
                        if t: tab.append(t)
                    #desc += '[/br]' + ' | '.join(tab)
                    title = '%s: s%se%s %s' % (cItem['title'], sNum.zfill(2),
                                               eNum.zfill(2), title)
                    params = MergeDicts(
                        cItem, {
                            'good_for_fav': False,
                            'type': 'video',
                            'title': title,
                            'url': url,
                            'episode_id': episodeId,
                            'desc': desc,
                            'prev_url': cUrl
                        })
                    episodes.append(params)

                if len(episodes):
                    params = dict(cItem)
                    params.update({
                        'good_for_fav': False,
                        'category': 'sub_items',
                        'title': sTitle,
                        'sub_items': episodes,
                        'prev_url': cUrl,
                        'desc': desc
                    })
                    self.addDir(params)
Example #3
0
 def listItems(self, cItem, nextCategory):
     nextPage = False
     try:
         tuhe = cItem['url']
         page = cItem.get('page', 1)
         tumd = cItem['md']
         if tuhe != '':
             tuhe = tuhe + '/oldal/' + str(page)
             sts, data = self.cm.getPage(tuhe, self.defaultParams)
             if not sts: return
             if len(data) == 0: return
             Pgntr = self.cm.ph.getDataBeetwenMarkers(
                 data, '<div class="blog-pagenat-wthree">', '</div>')[1]
             if 'Következő' in Pgntr:
                 nextPage = True
             else:
                 nextPage = False
             data = self.cm.ph.getAllItemsBeetwenMarkers(
                 data, "<div class='col-md-2 w3l-movie-gride-agile'",
                 "div class='clearfix'>")
             if len(data) == 0: return
             for item in data:
                 url = self.getFullUrl(
                     self.cm.ph.getSearchGroups(
                         item, 'href=[\'"]([^"^\']+?)[\'"]')[0])
                 if not self.cm.isValidUrl(url):
                     continue
                 title = self.cm.ph.getSearchGroups(
                     item, '<a title=[\'"]([^"^\']+?)[\'"]')[0].strip()
                 if title == '': continue
                 icon = self.cm.ph.getSearchGroups(
                     item, 'src=[\'"]([^"^\']+?)[\'"]')[0].strip()
                 tmp_ny = self.cm.ph.getDataBeetwenMarkers(
                     item, '<img src=', '>')[1]
                 nyelv = self.cm.ph.getSearchGroups(
                     tmp_ny, 'title=[\'"]([^"^\']+?)[\'"]')[0].strip()
                 if nyelv == '': nyelv = ' '
                 kev = self.cm.ph.getDataBeetwenMarkers(
                     item, "<div class='mid-2'>(", ")<", False)[1]
                 if kev == '': kev = ' '
                 desc = nyelv + '\nKiadás éve:  ' + kev
                 params = MergeDicts(
                     cItem, {
                         'category': nextCategory,
                         'title': title,
                         'url': url,
                         'desc': desc,
                         'icon': icon,
                         'nylv': nyelv,
                         'md': tumd
                     })
                 self.addDir(params)
             if nextPage and len(self.currList) > 0:
                 params = dict(cItem)
                 params.update({
                     'title':
                     _("Next page"),
                     'page':
                     page + 1,
                     'desc':
                     'Nyugi...\nVan még további tartalom, lapozz tovább!!!'
                 })
                 self.addDir(params)
     except Exception:
         return
Example #4
0
    def listItems(self, cItem, nextCategory):
        printDBG("HDFilmeTV.listItems")

        itemsPerPage = 50
        page = cItem.get('page', 1)
        url = cItem['url']

        params = MergeDicts(
            self.defaultParams, {
                'header': {
                    'User-Agent': self.USER_AGENT,
                    "Accept-Encoding": "gzip",
                    "Accept": "text/html",
                    "content-length": "14",
                    "content-type":
                    "application/x-www-form-urlencoded; charset=UTF-8",
                    "Origin": self.MAIN_URL,
                    "Referer": url,
                    "x-requested-with": "XMLHttpRequest"
                }
            })

        query = {}
        if 'search_pattern' in cItem:
            query = {'key': cItem['search_pattern'], 'page': page}
        else:
            query = {
                'page': page,
                'category': cItem['genre'],
                'country': cItem['country'],
                'sort': cItem['sort'],
                'sort_type': cItem['sort_type']
            }

        url += "?" + urllib.urlencode(query)
        sts, data = self.getPageCF(url,
                                   params,
                                   post_data={'load': 'full-page'})
        #printDBG(data)
        if not sts:
            return

        nextPage = self.cm.ph.getDataBeetwenMarkers(data,
                                                    '<ul class="pagination',
                                                    '</ul>', False)[1]
        if 'data-page="{0}"'.format(page + 1) in nextPage:
            #printDBG("Next page found!")
            nextPage = True
        else:
            nextPage = False

        numOfItems = 0
        data = self.cm.ph.getDataBeetwenMarkers(data,
                                                '<ul class="products row">',
                                                '</ul>')[1]
        data = ph.findall(data, '<li>', '</li>')
        #printDBG(str(data))

        for item in data:
            # icon
            icon = self.cm.ph.getSearchGroups(
                item, '''data-src=['"]([^'^"]+?)['"]''')[0]
            if icon == '':
                icon = cItem['icon']
            # url
            url = self.cm.ph.getSearchGroups(item,
                                             '''href=['"]([^'^"]+?)['"]''')[0]
            if url == '':
                continue
            #title
            title = self.cleanHtmlStr(
                self.cm.ph.getDataBeetwenMarkers(
                    item, '<div class="title-product">', '</div>')[1])
            if title == '':
                title = self.cleanHtmlStr(
                    self.cm.ph.getDataBeetwenMarkers(item, '<h3 ', '</h3>')[1])
            #desc
            desc = self.cleanHtmlStr(item)

            params = dict(cItem)
            params.update({
                'good_for_fav': True,
                'category': nextCategory,
                'title': title,
                'url': self.getFullUrl(url),
                'icon': self.getIconUrl(icon),
                'desc': desc
            })
            #printDBG("----> movie item ------> " + str(params))
            self.addDir(params)
            numOfItems += 1

        if nextPage or numOfItems >= itemsPerPage:
            params = dict(cItem)
            params.update({
                'good_for_fav': False,
                'title': _('Next page'),
                'page': (page + 1)
            })
            self.addMore(params)
Example #5
0
 def listItems(self, cItem, nextCategory):
     url = cItem['url']
     page = cItem.get('page', 1)
     sort = cItem.get('f_sort', '')
     
     query = ''
     if cItem.get('use_query', False):
         url = self.getFullUrl('/kereses/')
         query += 'search_type=%s&' % cItem.get('f_search_type', '0')
         query += 'search_where=%s&' % cItem.get('f_search_where', '0')
         query += 'search_rating_start=%s&search_rating_end=10&' % cItem.get('f_search_rating_start', '1')
         query += 'search_year_from=%s&search_year_to=%s&' % (cItem.get('f_year', '1900'), cItem.get('f_year', '2090'))
         if 'f_search_sync_' in cItem: query += 'search_sync_%s=%s&' % (cItem['f_search_sync_'], cItem['f_search_sync_'])
         if 'f_search_categ_' in cItem: query += 'search_categ_%s=%s&' % (cItem['f_search_categ_'], cItem['f_search_categ_'])
         if 'f_search_qual_' in cItem: query += 'search_qual_%s=%s&' % (cItem['f_search_qual_'], cItem['f_search_qual_'])
         if 'f_search_share_' in cItem: query += 'search_share_%s=%s&' % (cItem['f_search_share_'], cItem['f_search_share_'])
         if query.endswith('&'): query = query[:-1]
         printDBG('>>> query[%s]' % query)
     
     if not url.endswith('/'): url += '/'
     if sort != '': url += sort + '/'
     if query != '': url += base64.b64encode(query)
     if page > 1: url += '?page=%s' % page
     
     sts, data = self.getPage(url)
     if not sts: return
     
     nextPage = self.cm.ph.getDataBeetwenMarkers(data, 'pagination', '</ul>')[1]
     if  '' != self.cm.ph.getSearchGroups(nextPage, 'page=(%s)[^0-9]' % (page+1))[0]: nextPage = True
     else: nextPage = False
     
     data = self.cm.ph.getDataBeetwenMarkers(data, '<ul class="small-block-grid', '</ul>')[1]        
     data = self.cm.ph.getAllItemsBeetwenMarkers(data, '<li', '</li>')
     reFlagObj = re.compile('''<img[^>]+?src=['"][^"^']+?/([^/]+?)\.png['"]''')
     for item in data:
         url = self.getFullUrl( self.cm.ph.getSearchGroups(item, '''href=['"]([^"^']+?)['"]''')[0] )
         if not self.cm.isValidUrl(url): continue
         
         icon = self.getFullIconUrl( self.cm.ph.getSearchGroups(item, '''data-original=['"]([^"^']+?\.jpe?g)''')[0] )
         title = self.cleanHtmlStr( self.cm.ph.getDataBeetwenMarkers(item, '<strong', '</strong>')[1] )
         if title == '': title = self.cleanHtmlStr( self.cm.ph.getDataBeetwenMarkers(item, '<h2', '</h2>')[1] )
         
         # desc start
         descTab = []
         tmp = self.cm.ph.getDataBeetwenMarkers(item, '</strong>', '</div>')[1]
         flags = reFlagObj.findall(tmp)
         if len(flags): descTab.append(' | '.join(flags))
         tmp = tmp.split('<br>')
         for t in tmp:
             t = self.cleanHtmlStr(t)
             if t == '': continue
             descTab.append(t)
         ######
         
         params = MergeDicts(cItem, {'good_for_fav': True, 'category':nextCategory, 'title':title, 'url':url, 'desc':'[/br]'.join(descTab), 'icon':icon})
         self.addDir(params)
     
     if nextPage and len(self.currList) > 0:
         params = dict(cItem)
         params.update({'title':_("Next page"), 'page':page+1, 'desc':'Nyugi...\nVan még további tartalom, lapozz tovább!!!'})
         self.addDir(params)
Example #6
0
    def listMainMenu(self, cItem):
        printDBG("GuardaSerieClick.listMainMenu")
        params = MergeDicts(
            self.defaultParams, {
                'user-agent': self.USER_AGENT,
                'referer': self.MAIN_URL,
                "accept-encoding": "gzip",
                "accept": "text/html"
            })

        sts, data = self.getPageCF(self.getMainUrl(), params)
        if not sts: return
        self.setMainUrl(self.cm.meta['url'])

        #item = self.cm.ph.getDataBeetwenNodes(data, ('<a', '>', 'lista-serie'), ('</a', '>'))[1]
        #title = self.cleanHtmlStr(item)
        #url = self.getFullUrl(self.cm.ph.getSearchGroups(item, '''href=['"]([^"^']+?)['"]''')[0])
        params = dict(cItem)
        #params.update({'name':'category', 'category':'sections', 'title':title, 'url':url})
        params.update({
            'name': 'category',
            'category': 'sections',
            'title': 'LISTA SERIE',
            'url': self.getFullUrl('/lista-serie-tv')
        })

        self.addDir(params)

        data = self.cm.ph.getDataBeetwenNodes(data, ('<a', '>', 'dropdown'),
                                              ('</ul', '>'))[1].split(
                                                  '<ul', 1)
        sTitle = self.cleanHtmlStr(data[0])
        subtItems = []
        data = self.cm.ph.getAllItemsBeetwenMarkers(data[-1], '<a', '</a>')
        for item in data:
            url = self.getFullUrl(
                self.cm.ph.getSearchGroups(item,
                                           '''href=['"]([^"^']+?)['"]''')[0])
            title = self.cleanHtmlStr(item)
            params = dict(cItem)
            params.update({
                'name': 'category',
                'category': 'list_items',
                'title': title,
                'url': url
            })
            subtItems.append(params)

        params = dict(cItem)
        params.update({
            'name': 'category',
            'category': 'sub_items',
            'sub_items': subtItems,
            'title': sTitle
        })
        self.addDir(params)

        MAIN_CAT_TAB = [{
            'category': 'search',
            'title': _('Search'),
            'search_item': True
        }, {
            'category': 'search_history',
            'title': _('Search history')
        }]
        self.listsTab(MAIN_CAT_TAB, cItem)
Example #7
0
    def listItems(self, cItem, nextCategory1, nextCategory2):
        printDBG("CartoonHD.listItems")
        page = cItem.get('page', 1)

        if page == 1:
            url = cItem['url'] + '/' + cItem.get('sort_by',
                                                 '') + '/' + str(page)
        else:
            url = cItem['url']

        params = dict(self.defaultParams)
        params['header'] = self.AJAX_HEADER
        sts, data = self.cm.getPage(url, params)
        if not sts: return

        nextPage = self.cm.ph.getDataBeetwenNodes(
            data, ('<a', '>', 'next-page-button'), ('</a', '>'))[1]
        nextPage = self.getFullUrl(
            self.cm.ph.getSearchGroups(nextPage,
                                       '''href=["']([^"^']+?)['"]''')[0])

        data = self.cm.ph.getDataBeetwenMarkers(data, '<div class="flipBox"',
                                                '</main>', True)[1]
        data = data.split('</section>')
        if len(data): del data[-1]
        for item in data:
            icon = self.getFullUrl(
                self.cm.ph.getSearchGroups(item,
                                           'src="([^"]+?\.jpg[^"]*?)"')[0])
            desc = 'IMDb ' + self.cm.ph.getSearchGroups(
                item, '>([ 0-9.]+?)<')[0] + ', '
            desc += self.cleanHtmlStr(' '.join(
                self.cm.ph.getAllItemsBeetwenMarkers(item, '<p>', '</p>',
                                                     False)))
            tmp = self.cm.ph.rgetAllItemsBeetwenMarkers(
                item, '</a>', '<a', True)
            url = ''
            for t in tmp:
                if url == '':
                    url = self.getFullUrl(
                        self.cm.ph.getSearchGroups(
                            t, '''href=["']([^"^']+?)['"]''')[0])
                title = self.cleanHtmlStr(t)
                if title != '': break
            if url.startswith('http'):
                params = MergeDicts(
                    cItem, {
                        'good_for_fav': True,
                        'title': title,
                        'url': url,
                        'desc': desc,
                        'icon': icon
                    })
                if '/series/' in url and '/episode/' not in url:
                    params['category'] = nextCategory2
                else:
                    params['category'] = nextCategory1
                self.addDir(params)

        if nextPage != '':
            params = dict(cItem)
            params.update({
                'title': _("Next page"),
                'url': nextPage,
                'page': page + 1
            })
            self.addDir(params)
Example #8
0
 def listItems(self, cItem, nextCategory):
     nextPage = False
     link_tmb = {}
     try:
         tuhe = cItem['url']
         page = cItem.get('page', 1)
         tumd = cItem['md']
         if tuhe != '':
             tuhe = tuhe + '&page=' + str(page)
             sts, data = self.cm.getPage(tuhe)
             if not sts: return
             if len(data) == 0: return
             data = json_loads(data)
             if len(data) > 0:
                 pg = int(data['page'])
                 ppg = int(data['perPage'])
                 titms = data['totalItems']
                 if titms > pg * ppg:
                     nextPage = True
                 dtitms = data.get('items', [])
                 if len(dtitms) > 0:
                     for item in dtitms:
                         id = item['id']
                         if id == '': continue
                         title = item['title']
                         if title == '': continue
                         leiras = item['plot']
                         if leiras != '':
                             leiras_rov = re.sub(
                                 r'^(.{400}).*$', '\g<1>...',
                                 leiras.replace('\n', '').strip())
                         else:
                             leiras_rov = ' '
                         link_nyelv = item['link_nyelv']
                         if link_nyelv == None: link_nyelv = ' '
                         imdb_rating = item['imdb_rating']
                         if imdb_rating == None: imdb_rating = ' '
                         runtime = item['runtime']
                         if runtime == None: runtime = ' '
                         views = item['views']
                         if views == None: views = 1
                         release_date = item['release_date']
                         if release_date == None: release_date = ' '
                         genre = item['genre']
                         if genre == None: genre = ' '
                         icon = item['poster']
                         desc = link_nyelv + '\nMűfaj:  ' + genre + '\nKiadási dátum:  ' + release_date + '  |  Hossz:  ' + runtime + '  |  Nézettség:  ' + str(
                             views
                         ) + '  |  IMDB pont:  ' + imdb_rating + '\n\n' + leiras_rov
                         if tumd == 'series':
                             furl = zlib.decompress(
                                 base64.b64decode(
                                     'eJzLKCkpKLbS10/LzMlNz9dLTtbPz8vJzEvVLc4vyq9KLMnP1gcA634NOg=='
                                 )) + str(id) + '-'
                             params = MergeDicts(
                                 cItem, {
                                     'category': 'list_evad',
                                     'id': id,
                                     'title': title,
                                     'url': furl,
                                     'desc': desc,
                                     'icon': icon,
                                     'leiras': leiras
                                 })
                         else:
                             furl = zlib.decompress(
                                 base64.b64decode(
                                     'eJzLKCkpKLbS10/LzMlNz9dLTtbPz8vJzEvVBQmkZusDAMOEC8Y='
                                 )) + str(id) + '-'
                             params = MergeDicts(
                                 cItem, {
                                     'category': nextCategory,
                                     'id': id,
                                     'title': title,
                                     'url': furl,
                                     'desc': desc,
                                     'icon': icon,
                                     'leiras': leiras
                                 })
                         self.addDir(params)
                     if nextPage and len(self.currList) > 0:
                         params = dict(cItem)
                         params.update({
                             'title':
                             _("Next page"),
                             'page':
                             page + 1,
                             'desc':
                             'Nyugi...\nVan még további tartalom, lapozz tovább!!!'
                         })
                         self.addDir(params)
     except Exception:
         return