diff --git a/channels/1337x.py b/channels/1337x.py index 328ea150..6466d02c 100644 --- a/channels/1337x.py +++ b/channels/1337x.py @@ -115,7 +115,7 @@ def peliculas(item): action = 'seasons' patron = r']+>){4}\s*]+>(?P[^<]+)' - if (item.args == 'search' or item.contentType != 'movie') and inspect.stack(0)[4][3] not in ['get_channel_results']: + if (item.args == 'search' or item.contentType != 'movie') and not support.stackCheck(['get_channel_results']): patronNext = None def itemlistHook(itemlist): lastUrl = support.match(data, patron=r'href="([^"]+)">Last').match diff --git a/specials/community.py b/specials/community.py index 5448bb08..7595c46c 100644 --- a/specials/community.py +++ b/specials/community.py @@ -186,7 +186,7 @@ def peliculas(item, json='', key='', itemlist=[]): itlist = filterkey = [] action = 'findvideos' - if inspect.stack()[1][3] not in ['add_tvshow', 'get_episodes', 'update', 'find_episodes', + if inspect.stack(0)[1][3] not in ['add_tvshow', 'get_episodes', 'update', 'find_episodes', 'search'] and not item.filterkey and not item.disable_pagination: Pagination = int(defp) if defp.isdigit() else '' else: @@ -243,7 +243,7 @@ def peliculas(item, json='', key='', itemlist=[]): # if item.sort: # itemlist.sort(key=lambda x: x.title.lower(), reverse=False) if Pagination and len(itemlist) >= Pagination: - if inspect.stack()[1][3] != 'get_newest': + if inspect.stack(0)[1][3] != 'get_newest': item.title = support.typo(config.get_localized_string(30992), 'color kod bold') item.page = pag + 1 item.thumbnail = support.thumb() @@ -279,13 +279,13 @@ def get_seasons(item): contentType='season' if show_seasons else 'tvshow', path=extra.path)) - if inspect.stack()[2][3] in ['add_tvshow', 'get_episodes', 'update', 'find_episodes', + if inspect.stack(0)[2][3] in ['add_tvshow', 'get_episodes', 'update', 'find_episodes', 'get_newest'] or show_seasons == False: itlist = [] for item in itemlist: itlist = episodios(item) itemlist = itlist - if inspect.stack()[2][3] not in ['add_tvshow', 'get_episodes', 'update', 'find_episodes', + if inspect.stack(0)[2][3] not in ['add_tvshow', 'get_episodes', 'update', 'find_episodes', 'get_newest'] and defp and not item.disable_pagination: itemlist = pagination(item, itemlist) @@ -322,7 +322,7 @@ def episodios(item, json='', key='', itemlist=[]): ep = 1 season = infoLabels['season'] if 'season' in infoLabels else item.contentSeason if item.contentSeason else 1 - if inspect.stack()[1][3] not in ['add_tvshow', 'get_episodes', 'update', 'find_episodes', + if inspect.stack(0)[1][3] not in ['add_tvshow', 'get_episodes', 'update', 'find_episodes', 'search'] and not show_seasons: Pagination = int(defp) if defp.isdigit() else '' else: @@ -374,7 +374,7 @@ def episodios(item, json='', key='', itemlist=[]): path=item.path)) # if showseason - if inspect.stack()[1][3] not in ['add_tvshow', 'get_episodes', 'update', 'find_episodes', 'get_newest', 'search']: + if inspect.stack(0)[1][3] not in ['add_tvshow', 'get_episodes', 'update', 'find_episodes', 'get_newest', 'search']: if show_seasons and not item.filterseason: itm.contentType = 'season' season_list = [] @@ -399,15 +399,15 @@ def episodios(item, json='', key='', itemlist=[]): support.videolibrary(itemlist, item) support.download(itemlist, item) - elif defp and inspect.stack()[1][3] not in ['get_seasons'] and not item.disable_pagination: + elif defp and inspect.stack(0)[1][3] not in ['get_seasons'] and not item.disable_pagination: if Pagination and len(itemlist) >= Pagination: - if inspect.stack()[1][3] != 'get_newest': + if inspect.stack(0)[1][3] != 'get_newest': item.title = support.typo(config.get_localized_string(30992), 'color kod bold') item.page = pag + 1 item.thumbnail = support.thumb() itemlist.append(item) - if inspect.stack()[1][3] not in ['get_seasons'] and not show_seasons: + if inspect.stack(0)[1][3] not in ['get_seasons'] and not show_seasons: support.videolibrary(itemlist, item) support.download(itemlist, item) return itemlist @@ -769,7 +769,7 @@ def set_extra_values(item, json, path): ret.subtitle = json[key] if not ret.thumb: - if 'get_search_menu' in inspect.stack()[1][3]: + if 'get_search_menu' in inspect.stack(0)[1][3]: ret.thumb = get_thumb('search.png') else: ret.thumb = item.thumbnail @@ -830,7 +830,7 @@ def pagination(item, itemlist=[]): encoded_itemlist = [] for it in itemlist: encoded_itemlist.append(it.tourl()) - if inspect.stack()[1][3] not in ['add_tvshow', 'get_episodes', 'update', 'find_episodes', 'search']: + if inspect.stack(0)[1][3] not in ['add_tvshow', 'get_episodes', 'update', 'find_episodes', 'search']: Pagination = int(defp) if defp.isdigit() else '' else: Pagination = '' @@ -843,7 +843,7 @@ def pagination(item, itemlist=[]): itlist.append(item) if Pagination and len(itemlist) >= Pagination: - if inspect.stack()[1][3] != 'get_newest': + if inspect.stack(0)[1][3] != 'get_newest': itlist.append( Item(channel=item.channel, action='pagination', diff --git a/specials/globalsearch.py b/specials/globalsearch.py index bef82a3b..39b10a37 100644 --- a/specials/globalsearch.py +++ b/specials/globalsearch.py @@ -414,7 +414,6 @@ class SearchWindow(xbmcgui.WindowXML): self.count += 1 return channel, valid, other if other else results - self.update(channel, valid, other if other else results) # update_lock.release() def makeItem(self, url): @@ -438,6 +437,7 @@ class SearchWindow(xbmcgui.WindowXML): return it def update(self, channel, valid, results): + update_lock.acquire() self.LOADING.setVisible(False) if self.exit: return @@ -485,7 +485,7 @@ class SearchWindow(xbmcgui.WindowXML): }) for result in results: resultsList += result.tourl() + '|' - item.setProperty('items',resultsList) + item.setProperty('items', resultsList) self.results[name] = len(self.results) self.channels.append(item) else: @@ -509,6 +509,7 @@ class SearchWindow(xbmcgui.WindowXML): if result: items.append(self.makeItem(result)) self.RESULTS.reset() self.RESULTS.addItems(items) + update_lock.release() def onInit(self): self.time = time.time()