Merge remote-tracking branch 'origin/master'

This commit is contained in:
marco
2019-11-18 23:12:21 +01:00
5 changed files with 63 additions and 50 deletions
+8 -7
View File
@@ -32,19 +32,20 @@ list_quality = ['default']
def mainlist(item): def mainlist(item):
Tvshow = [ Tvshow = [
('Aggiornamenti', ['', 'peliculas', '', 'tvshow']), ('Aggiornamenti', ['', 'peliculas', '', 'update']),
('Per Lettera', ['/elenco-serie-tv/', 'genres', 'genres']) ('Per Lettera {TV}', ['/elenco-serie-tv/', 'genres', 'genres']),
('Cerca... {TV} bold', ['','search'])
] ]
search = '' # search = ''
return locals() return locals()
@support.scrape @support.scrape
def peliculas(item): def peliculas(item):
support.log(item) support.log(item)
#support.dbg() # support.dbg()
deflang = 'Sub-ITA' deflang = 'Sub-ITA'
action = 'findvideos' action = 'findvideos'
@@ -55,10 +56,10 @@ def peliculas(item):
action = 'episodios' action = 'episodios'
elif item.args == 'search': elif item.args == 'search':
patronBlock = r'</h1> </header>(?P<block>.*?)</main>' patronBlock = r'</h1> </header>(?P<block>.*?)</main>'
patron = r'(?:<img src="(?P<thumb>[^"]+)"[^>]+>)?[^>]+>[^>]+>[^>]+>[^>]+>[^>]+><a href="(?P<url>[^"]+)"[^>]+>(?:(?P<title>.+?)[ ](?P<episode>[\d&#;\d]+\d+|\d+..\d+)(?: \([a-zA-Z\s]+\) )(?:s\d+e\d+)?[ ]?(?:[&#\d;|.{3}]+)(?P<title2>[^&#\d;|^.{3}]+)(?:|.+?))<' patronMenu = r'(?:<img src="(?P<thumb>[^"]+)"[^>]+>)?[^>]+>[^>]+>[^>]+>[^>]+>[^>]+><a href="(?P<url>[^"]+)"[^>]+>(?:(?P<title>.+?)[ ](?P<episode>[\d&#;\d]+\d+|\d+..\d+)(?: \([a-zA-Z\s]+\) )(?:s\d+e\d+)?[ ]?(?:[&#\d;|.{3}]+)(?P<title2>[^&#\d;|^.{3}]+)(?:|.+?))<'
else: else:
patron = r'<div class="featured-thumb"> <a href="(?P<url>[^"]+)" title="(?:(?P<title>.+?)[ ]?(?P<episode>\d+&#215;\d+).+?&#8220;(?P<title2>.+?)&#8221;).+?">' patron = r'<div class="featured-thumb"> <a href="(?P<url>[^"]+)" title="(?:(?P<title>.+?)[ ]?(?P<episode>\d+&#215;\d+).+?&#8220;(?P<title2>.+?)&#8221;).+?">'
patronBlock = r'<main id="main" class="site-main" role="main">(?P<block>.*?)<nav class="navigation pagination" role="navigation">' patronBlock = r'<main id="main"[^>]+>(?P<block>.*?)<div id="secondary'
patronNext = '<a class="next page-numbers" href="(.*?)">Successivi' patronNext = '<a class="next page-numbers" href="(.*?)">Successivi'
+5 -5
View File
@@ -402,16 +402,16 @@ def thumb(itemlist=[], genre=False, thumb=''):
if genre == False: if genre == False:
for thumb, titles in icon_dict.items(): for thumb, titles in icon_dict.items():
if any( word in item.title.lower().split() for word in search): if any( word in re.split(r'\.|\{|\}|\[|\]|\(|\)| ',item.title.lower()) for word in search):
thumb = 'search' thumb = 'search'
for suffix, titles in search_suffix.items(): for suffix, titles in search_suffix.items():
if any( word in item.title.lower().split() for word in titles ): if any( word in re.split(r'\.|\{|\}|\[|\]|\(|\)| ',item.title.lower()) for word in titles ):
thumb = thumb + suffix thumb = thumb + suffix
item.thumbnail = get_thumb(thumb + '.png') item.thumbnail = get_thumb(thumb + '.png')
elif any( word in item.title.lower().split() for word in titles ): elif any( word in re.split(r'\.|\{|\}|\[|\]|\(|\)| ',item.title.lower()) for word in titles ):
if thumb == 'channels_movie' or thumb == 'channels_tvshow': if thumb == 'channels_movie' or thumb == 'channels_tvshow':
for suffix, titles in suffix_dict.items(): for suffix, titles in suffix_dict.items():
if any( word in item.title.lower().split() for word in titles ): if any( word in re.split(r'\.|\{|\}|\[|\]|\(|\)| ',item.title.lower()) for word in titles ):
thumb = thumb + suffix thumb = thumb + suffix
item.thumbnail = get_thumb(thumb + '.png') item.thumbnail = get_thumb(thumb + '.png')
else: item.thumbnail = get_thumb(thumb + '.png') else: item.thumbnail = get_thumb(thumb + '.png')
@@ -420,7 +420,7 @@ def thumb(itemlist=[], genre=False, thumb=''):
else: else:
for thumb, titles in icon_dict.items(): for thumb, titles in icon_dict.items():
if any(word in item.title.lower().split() for word in titles ): if any(word in re.split(r'\.|\{|\}|\[|\]|\(|\)| ',item.title.lower()) for word in titles ):
item.thumbnail = get_thumb(thumb + '.png') item.thumbnail = get_thumb(thumb + '.png')
else: else:
thumb = item.thumbnails thumb = item.thumbnails
+33 -33
View File
@@ -713,42 +713,42 @@ def typo(string, typography=''):
# If there are no attributes, it applies the default ones # If there are no attributes, it applies the default ones
attribute = ['[]','()','{}','submenu','color','bold','italic','_','--','[B]','[I]','[COLOR]'] attribute = ['[]','()','{}','submenu','color','bold','italic','_','--','[B]','[I]','[COLOR]']
movie_word_list = ['film', 'serie', 'tv', 'anime', 'cinema', 'sala'] # movie_word_list = ['film', 'serie', 'tv', 'anime', 'cinema', 'sala']
search_word_list = ['cerca'] # search_word_list = ['cerca']
categories_word_list = ['genere', 'categoria', 'categorie', 'ordine', 'lettera', 'anno', 'alfabetico', 'a-z', 'menu'] # categories_word_list = ['genere', 'categoria', 'categorie', 'ordine', 'lettera', 'anno', 'alfabetico', 'a-z', 'menu']
if not any(word in string for word in attribute): # if not any(word in string for word in attribute):
if any(word in string.lower() for word in search_word_list): # if any(word in string.lower() for word in search_word_list):
string = '[COLOR '+ kod_color +']' + string + '[/COLOR]' # string = '[COLOR '+ kod_color +']' + string + '[/COLOR]'
elif any(word in string.lower() for word in categories_word_list): # elif any(word in string.lower() for word in categories_word_list):
string = ' > ' + string # string = ' > ' + string
elif any(word in string.lower() for word in movie_word_list): # elif any(word in string.lower() for word in movie_word_list):
string = '[B]' + string + '[/B]' # string = '[B]' + string + '[/B]'
# Otherwise it uses the typographical attributes of the string # Otherwise it uses the typographical attributes of the string
else: # else:
if '[]' in string: if '[]' in string:
string = '[' + re.sub(r'\s\[\]','',string) + ']' string = '[' + re.sub(r'\s\[\]','',string) + ']'
if '()' in string: if '()' in string:
string = '(' + re.sub(r'\s\(\)','',string) + ')' string = '(' + re.sub(r'\s\(\)','',string) + ')'
if '{}' in string: if '{}' in string:
string = '{' + re.sub(r'\s\{\}','',string) + '}' string = '{' + re.sub(r'\s\{\}','',string) + '}'
if 'submenu' in string: if 'submenu' in string:
string = u"\u2022\u2022 ".encode('utf-8') + re.sub(r'\ssubmenu','',string) string = u"\u2022\u2022 ".encode('utf-8') + re.sub(r'\ssubmenu','',string)
if 'color' in string: if 'color' in string:
color = scrapertoolsV2.find_single_match(string,'color ([a-z]+)') color = scrapertoolsV2.find_single_match(string,'color ([a-z]+)')
if color == 'kod' or '': color = kod_color if color == 'kod' or '': color = kod_color
string = '[COLOR '+ color +']' + re.sub(r'\scolor\s([a-z]+)','',string) + '[/COLOR]' string = '[COLOR '+ color +']' + re.sub(r'\scolor\s([a-z]+)','',string) + '[/COLOR]'
if 'bold' in string: if 'bold' in string:
string = '[B]' + re.sub(r'\sbold','',string) + '[/B]' string = '[B]' + re.sub(r'\sbold','',string) + '[/B]'
if 'italic' in string: if 'italic' in string:
string = '[I]' + re.sub(r'\sitalic','',string) + '[/I]' string = '[I]' + re.sub(r'\sitalic','',string) + '[/I]'
if '_' in string: if '_' in string:
string = ' ' + re.sub(r'\s_','',string) string = ' ' + re.sub(r'\s_','',string)
if '--' in string: if '--' in string:
string = ' - ' + re.sub(r'\s--','',string) string = ' - ' + re.sub(r'\s--','',string)
if 'bullet' in string: if 'bullet' in string:
string = '[B]' + u"\u2022".encode('utf-8') + '[/B] ' + re.sub(r'\sbullet','',string) string = '[B]' + u"\u2022".encode('utf-8') + '[/B] ' + re.sub(r'\sbullet','',string)
return string return string
+4 -1
View File
@@ -24,10 +24,13 @@ def get_video_url(page_url, premium=False, user="", password="", video_password=
if '/streaming.php' in page_url: if '/streaming.php' in page_url:
code = httptools.downloadpage(page_url, headers=headers, follow_redirects=False).headers['location'].split('/')[-1] code = httptools.downloadpage(page_url, headers=headers, follow_redirects=False).headers['location'].split('/')[-1]
logger.info('WCODE='+code)
page_url = 'https://wstream.video/video.php?file_code=' + code page_url = 'https://wstream.video/video.php?file_code=' + code
code = page_url.split('=')[-1] code = page_url.split('=')[-1]
post = urllib.urlencode({'videox': code}) data = httptools.downloadpage(page_url, headers=headers, follow_redirects=False).data
ID = scrapertools.find_single_match(data, r'''input\D*id=(?:'|")([^'"]+)(?:'|")''')
post = urllib.urlencode({ID: code})
data = httptools.downloadpage(page_url, headers=headers, post=post, follow_redirects=True).data data = httptools.downloadpage(page_url, headers=headers, post=post, follow_redirects=True).data
headers.append(['Referer', page_url]) headers.append(['Referer', page_url])
+13 -4
View File
@@ -28,7 +28,6 @@ FOLDER_TVSHOWS = config.get_setting("folder_tvshows")
TITLE_FILE = "[COLOR %s][%i%%][/COLOR] %s" TITLE_FILE = "[COLOR %s][%i%%][/COLOR] %s"
TITLE_TVSHOW = "[COLOR %s][%i%%][/COLOR] %s [%s]" TITLE_TVSHOW = "[COLOR %s][%i%%][/COLOR] %s [%s]"
def mainlist(item): def mainlist(item):
logger.info() logger.info()
itemlist = [] itemlist = []
@@ -626,7 +625,7 @@ def download_from_best_server(item):
progreso.update(100, config.get_localized_string(70183), config.get_localized_string(70181) % len(play_items), progreso.update(100, config.get_localized_string(70183), config.get_localized_string(70181) % len(play_items),
config.get_localized_string(70182)) config.get_localized_string(70182))
if config.get_setting("server_reorder", "downloads") == 1: if config.get_setting("server_reorder", "downloads") == 1:
play_items.sort(key=sort_method) play_items.sort(key=sort_method)
@@ -634,7 +633,18 @@ def download_from_best_server(item):
return {"downloadStatus": STATUS_CODES.canceled} return {"downloadStatus": STATUS_CODES.canceled}
progreso.close() progreso.close()
# if not config.get_setting("server_speed", "downloads"):
# select = platformtools.dialog_select(config.get_localized_string(70192), [s.title for s in play_items])
# play_items[select] = item.clone(**play_items[select].__dict__)
# play_items[select].contentAction = play_items[select].action
# play_items[select].infoLabels = item.infoLabels
# result = download_from_server(play_items[select])
# if progreso.iscanceled():
# result["downloadStatus"] = STATUS_CODES.canceled
# else:
# Recorremos el listado de servers, hasta encontrar uno que funcione # Recorremos el listado de servers, hasta encontrar uno que funcione
for play_item in play_items: for play_item in play_items:
play_item = item.clone(**play_item.__dict__) play_item = item.clone(**play_item.__dict__)
@@ -710,7 +720,6 @@ def start_download(item):
# No tenemos server, necesitamos buscar el mejor # No tenemos server, necesitamos buscar el mejor
else: else:
ret = download_from_best_server(item) ret = download_from_best_server(item)
update_json(item.path, ret)
return ret["downloadStatus"] return ret["downloadStatus"]
@@ -830,7 +839,7 @@ def save_download(item):
item.contentAction = item.from_action if item.from_action else item.action item.contentAction = item.from_action if item.from_action else item.action
if item.contentType in ["tvshow", "episode", "season"]: if item.contentType in ["tvshow", "episode", "season"]:
if 'download' in item and config.get_setting('show_seasons',item.channel) == False: if ('download' in item and item.channel != 'community') or (item.channel == 'community' and config.get_setting('show_seasons',item.channel) == False):
heading = config.get_localized_string(70594) # <- Enter the season number heading = config.get_localized_string(70594) # <- Enter the season number
item.dlseason = platformtools.dialog_numeric(0, heading, '') item.dlseason = platformtools.dialog_numeric(0, heading, '')
if item.dlseason: if item.dlseason: