diff --git a/channels/animeworld.json b/channels/animeworld.json index 964b9d3d..05ccbc30 100644 --- a/channels/animeworld.json +++ b/channels/animeworld.json @@ -14,7 +14,7 @@ "default": 0, "enabled": true, "visible": true, - "lvalues": [ "Standard", "Ultime Aggiunte", "Lista A-Z", "Data di Uscita" ] + "lvalues": [ "Standard", "Ultime Aggiunte", "Lista A-Z", "Lista A-Z", "Più Vecchi", "Più Recenti", "Più Visti" ] } ] } diff --git a/channels/animeworld.py b/channels/animeworld.py index 7a7cbe1a..4ca639f7 100644 --- a/channels/animeworld.py +++ b/channels/animeworld.py @@ -103,7 +103,7 @@ def submenu(item): data = item.other patronMenu = r'[^"]+)" value="(?P[^"]+)"\s*>[^>]+>(?P[^<]+)<\/label>' def itemHook(item): - item.url = host + '/filter?' + item.name + '=' + item.value + '&dub=' + item.args + '&sort=' + item.url = host + '/filter?' + item.name + '=' + item.value + '&dub=' + item.args + ('&sort=' if item.name != 'sort' else '') return item return locals() @@ -141,14 +141,15 @@ def search(item, texto): @support.scrape def peliculas(item): - data = get_data(item) anime=True + if item.args not in ['noorder', 'updated'] and not item.url[-1].isdigit(): item.url += order() # usa l'ordinamento di configura canale + data = get_data(item) if item.args == 'updated': + data = get_data(item) item.contentType='episode' patron=r'<div class="inner">\s*<a href="(?P<url>[^"]+)" class[^>]+>\s*<img.*?src="(?P<thumb>[^"]+)" alt?="(?P<title>[^\("]+)(?:\((?P<lang>[^\)]+)\))?"[^>]+>[^>]+>\s*(?:<div class="[^"]+">(?P<type>[^<]+)</div>)?[^>]+>[^>]+>\s*<div class="ep">[^\d]+(?P<episode>\d+)[^<]*</div>' action='findvideos' else: - if item.args != 'noorder' and not item.url[-1].isdigit(): item.url += order() # usa l'ordinamento di configura canale patron= r'<div class="inner">\s*<a href="(?P<url>[^"]+)" class[^>]+>\s*<img.*?src="(?P<thumb>[^"]+)" alt?="(?P<title>[^\("]+)(?:\((?P<year>\d+)\) )?(?:\((?P<lang>[^\)]+)\))?"[^>]+>[^>]+>(?:\s*<div class="(?P<l>[^"]+)">[^>]+>)?\s*(?:<div class="[^"]+">(?P<type>[^<]+)</div>)?' action='episodios' diff --git a/channels/streamingcommunity.py b/channels/streamingcommunity.py index e4b827c4..5eafc07d 100644 --- a/channels/streamingcommunity.py +++ b/channels/streamingcommunity.py @@ -177,7 +177,7 @@ def findvideos(item): support.log() itemlist=[] url = support.match(support.match(item).data.replace('"','"').replace('\\',''), patron=r'video_url"\s*:\s*"([^"]+)"').match - playlist = support.match(url, patron=r'\./([^.]+)').matches + playlist = support.match(url.replace('https','http'), patron=r'\./([^.]+)').matches for res in playlist: itemlist.append(item.clone(title=support.config.get_localized_string(30137), server='directo', url=url.replace('playlist',res), quality=res, action='play')) return support.server(item, itemlist=itemlist) \ No newline at end of file diff --git a/servers/youtube.py b/servers/youtube.py index fac8367c..ca788f87 100644 --- a/servers/youtube.py +++ b/servers/youtube.py @@ -209,10 +209,10 @@ def extract_videos(video_id): opt = dict(opt) if "audioQuality" not in opt: continue - if "cipher" in opt: + if "signatureCipher" in opt and opt['mimeType'].startswith('video'): signature = get_signature(youtube_page_data) - cipher = dict(urlparse.parse_qsl(urllib.unquote(opt["cipher"]))) - url = re.search('url=(.*)', opt["cipher"]).group(1) + cipher = dict(urlparse.parse_qsl(urllib.unquote(opt["signatureCipher"]))) + url = re.search('url=(.*)', opt["signatureCipher"]).group(1) s = cipher.get('s') url = "%s&sig=%s" % (urllib.unquote(url), signature([s])) video_urls.append(["%s" % itag_list.get(opt["itag"], "video"), url])