Diff
checker
टेक्स्ट
टेक्स्ट
छवियां
दस्तावेज़
Excel
फ़ोल्डर्स
Legal
Enterprise
डेस्कटॉप
मूल्य
साइन इन करें
Diffchecker डेस्कटॉप डाउनलोड करें
टेक्स्ट की तुलना करें
दो टेक्स्ट फ़ाइलों के बीच अंतर ढूंढें
उपकरण
इतिहास
रियल-टाइम एडिटर
रिक्त स्थान छिपाएँ
अपरिवर्तित संक्षिप्त करें
लाइन रैप बंद
लेआउट
विभाजित
संयुक्त
परिवर्तन हाइलाइट करें
स्मार्ट
शब्द
अक्षर
टेक्स्ट शैलियां
दिखावट बदलें
सिंटैक्स हाइलाइटिंग
सिंटैक्स चुनें
अनदेखा करें
टेक्स्ट बदलें
पहले अंतर पर जाएँ
इनपुट संपादित करें
Diffchecker Desktop
Diffchecker चलाने का सबसे सुरक्षित तरीका। Diffchecker Desktop ऐप पाएं: आपके diffs कभी आपके कंप्यूटर से बाहर नहीं जाते!
Desktop पाएं
Untitled diff
बनाया गया
7 वर्ष पहले
Diff कभी समाप्त नहीं होता
साफ़
निर्यात करें
शेयर करें
समझाएं
280 हटाए गए
लाइनें
कुल
हटाया गया
अक्षर
कुल
हटाया गया
इस सुविधा का उपयोग जारी रखने के लिए, अपग्रेड करें
Diff
checker
Pro
मूल्य देखें
353 लाइनें
सभी को कॉपी करें
171 जोड़े गए
लाइनें
कुल
जोड़ा गया
अक्षर
कुल
जोड़ा गया
इस सुविधा का उपयोग जारी रखने के लिए, अपग्रेड करें
Diff
checker
Pro
मूल्य देखें
246 लाइनें
सभी को कॉपी करें
# -*- coding: utf-8 -*-
# -*- coding: utf-8 -*-
# ------------------------------------------------------------
# ------------------------------------------------------------
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
#
Icarus
- XBMC Plugin
#
Ringraziamo
Icarus
crew
# Canale per filmpertutti.co
# Canale per filmpertutti.co
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
# https://alfa-addon.com/categories/icarus-addon.50/
# ------------------------------------------------------------
# ------------------------------------------------------------
import re
import re
import urlparse
import urlparse
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
from core import scrapertools
, servertools, httptools
from channels import autoplay, support
from core import scrapertools
V2
, servertools, httptools
, tmdb
from core.item import Item
from core.item import Item
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
from core.tmdb import infoIca
from lib import unshortenit
from lib import unshortenit
from platformcode import config, logger
from platformcode import config, logger
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
from channelselector import thumb
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
host = "https://www.filmpertutti.
uno"
host = "https://www.filmpertutti.
club"
headers = [['Referer', host]]
list_servers = ['openload', 'streamango', 'wstream', 'akvideo']
list_quality = ['HD', 'SD']
def mainlist(item):
def mainlist(item):
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
logger.info(
"icarus.filmpertutti mainlist")
logger.info(
)
itemlist = [Item(channel=item.channel,
title="[COLOR azure]Ultimi film inseriti[/COLOR]",
itemlist =[]
action="peliculas",
extra="movie",
support.menu(itemlist, '[B]Film[/B]', 'peliculas', host + '/category/film/', 'movie')
url="%s/category/film/" % host,
support.menu(itemlist, '[B] > Film per Genere[/B]', 'genre', host, 'episode')
thumbnail="http://orig03.deviantart.net/6889/f/2014/079/7/b/movies_and_popcorn_folder_icon_by_matheusgrilo-d7ay4tw.png"),
support.menu(itemlist, '[B]Serie TV[/B]', 'peliculas', host + '/category/serie-tv/', 'episode')
Item(channel=item.channel,
support.menu(itemlist, '[B] > Serie TV in ordine alfabetico[/B]', 'az', host + '/category/serie-tv/', 'episode')
title="[COLOR azure]Categorie film[/COLOR]",
support.menu(itemlist, '[COLOR blue]Cerca Serie TV...[/COLOR]', 'search', '', 'episode')
action="categorias",
url="%s/category/film/" % host,
thumbnail="http://orig03.deviantart.net/6889/f/2014/079/7/b/movies_and_popcorn_folder_icon_by_matheusgrilo-d7ay4tw.png"),
autoplay.init(item.channel, list_servers, list_quality)
Item(channel=item.channel,
autoplay.show_option(item.channel, itemlist)
title="[COLOR yellow]Cerca...[/COLOR]",
action="search",
for item in itemlist:
extra="movie",
logger.info('MENU=' + str(item) )
thumbnail="http://dc467.4shared.com/img/fEbJqOum/s7/13feaf0c8c0/Search"),
Item(channel=item.channel,
title="[COLOR azure]Serie TV[/COLOR]",
extra="tvshow",
action="peliculas_tv",
url="%s/category/serie-tv/" % host,
thumbnail="http://orig03.deviantart.net/6889/f/2014/079/7/b/movies_and_popcorn_folder_icon_by_matheusgrilo-d7ay4tw.png"),
Item(channel=item.channel,
title="[COLOR yellow]Cerca Serie TV...[/COLOR]",
action="search",
extra="tvshow",
thumbnail="http://dc467.4shared.com/img/fEbJqOum/s7/13feaf0c8c0/Search")]
return itemlist
return itemlist
def newest(categoria):
def newest(categoria):
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
logger.info("
icarus.
filmpertutti newest" + categoria)
logger.info("
filmpertutti newest" + categoria)
itemlist = []
itemlist = []
item = Item()
item = Item()
try:
try:
if categoria == "film":
if categoria == "film":
item.url = host + "/category/film/"
item.url = host + "/category/film/"
item.action = "peliculas"
item.action = "peliculas"
item.extra = "movie"
item.extra = "movie"
itemlist = peliculas(item)
itemlist = peliculas(item)
if itemlist[-1].action == "peliculas":
if itemlist[-1].action == "peliculas":
itemlist.pop()
itemlist.pop()
# Continua la ricerca in caso di errore
# Continua la ricerca in caso di errore
except:
except:
import sys
import sys
for line in sys.exc_info():
for line in sys.exc_info():
logger.error("{0}".format(line))
logger.error("{0}".format(line))
return []
return []
return itemlist
return itemlist
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
def peliculas(item):
logger.info("icarus.filmpertutti peliculas")
itemlist = []
# Carica la pagina
data = httptools.downloadpage(item.url).data
# Estrae i contenuti
patron = '<li><a href="([^"]+)" data-thumbnail="([^"]+)"><div>\s*<div class="title">(.*?)<.*?IMDb">([^<]+)'
matches = re.compile(patron, re.DOTALL).findall(data)
for scrapedurl, scrapedthumbnail, scrapedtitle, scraprate in matches:
scrapedplot = ""
itemlist.append(infoIca(
Item(channel=item.channel,
action="findvideos",
contentType="movie",
fulltitle=scrapedtitle,
show=scrapedtitle,
title="[COLOR azure]" + scrapedtitle + "[/COLOR] - IMDb: " + scraprate,
url=scrapedurl,
thumbnail=scrapedthumbnail,
plot=scrapedplot,
extra=item.extra,
folder=True), tipo='movie'))
# Paginazione
patronvideos = '<a href="([^"]+)"[^>]+>Pagina'
matches = re.compile(patronvideos, re.DOTALL).findall(data)
if len(matches) > 0:
scrapedurl = urlparse.urljoin(item.url, matches[0])
itemlist.append(
Item(channel=item.channel,
action="peliculas",
title="[COLOR lightgreen]" + config.get_localized_string(30992) + "[/COLOR]",
url=scrapedurl,
thumbnail="http://2.bp.blogspot.com/-fE9tzwmjaeQ/UcM2apxDtjI/AAAAAAAAeeg/WKSGM2TADLM/s1600/pager+old.png",
extra=item.extra,
folder=True))
return itemlist
def peliculas_tv(item):
logger.info("icarus.filmpertutti peliculas")
itemlist = []
# Carica la pagina
data = httptools.downloadpage(item.url).data
# Estrae i contenuti
patron = '<li><a href="([^"]+)" data-thumbnail="([^"]+)"><div>\s*<div class="title">(.*?)<'
matches = re.compile(patron, re.DOTALL).findall(data)
for scrapedurl, scrapedthumbnail, scrapedtitle in matches:
title = scrapertools.decodeHtmlentities(scrapedtitle)
scrapedplot = ""
itemlist.append(infoIca(
Item(channel=item.channel,
action="episodios",
fulltitle=title,
show=title,
title="[COLOR azure]" + title + "[/COLOR]",
url=scrapedurl,
thumbnail=scrapedthumbnail,
plot=scrapedplot,
extra=item.extra,
folder=True), tipo='tv'))
# Paginazione
patronvideos = '<a href="([^"]+)"[^>]+>Pagina'
matches = re.compile(patronvideos, re.DOTALL).findall(data)
if len(matches) > 0:
scrapedurl = urlparse.urljoin(item.url, matches[0])
itemlist.append(
Item(channel=item.channel,
action="peliculas_tv",
title="[COLOR lightgreen]" + config.get_localized_string(30992) + "[/COLOR]",
url=scrapedurl,
thumbnail="http://2.bp.blogspot.com/-fE9tzwmjaeQ/UcM2apxDtjI/AAAAAAAAeeg/WKSGM2TADLM/s1600/pager+old.png",
extra=item.extra,
folder=True))
return itemlist
def categorias(item):
logger.info("icarus.filmpertutti categorias")
itemlist = []
data = httptools.downloadpage(item.url).data
# Narrow search by selecting only the combo
patron = '<option>Scegli per Genere</option>(.*?)</select'
bloque = scrapertools.get_match(data, patron)
# The categories are the options for the combo
patron = '<option data-src="([^"]+)">([^<]+)</option>'
matches = re.compile(patron, re.DOTALL).findall(bloque)
for scrapedurl, scrapedtitle in matches:
scrapedurl = urlparse.urljoin(item.url, scrapedurl)
scrapedthumbnail = ""
scrapedplot = ""
itemlist.append(
Item(channel=item.channel,
action="peliculas",
title="[COLOR azure]" + scrapedtitle + "[/COLOR]",
url=scrapedurl,
thumbnail=scrapedthumbnail,
extra=item.extra,
plot=scrapedplot))
return itemlist
def search(item, texto):
def search(item, texto):
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
logger.info("
icarus.
filmpertutti " + item.url + " search " + texto)
logger.info("
filmpertutti " + item.url + " search " + texto)
item.url = host + "/?s=" + texto
item.url = host + "/?s=" + texto
try:
try:
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
if item.extra == "movie":
return peliculas(item)
return peliculas(item)
if item.extra == "tvshow":
return peliculas_tv(item)
# Continua la ricerca in caso di errore
# Continua la ricerca in caso di errore
except:
except:
import sys
import sys
for line in sys.exc_info():
for line in sys.exc_info():
logger.error("%s" % line)
logger.error("%s" % line)
return []
return []
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
def
episodios
(item):
def
genre
(item):
def load_episodios(html, item, itemlist, lang_title):
logger.info(item.channel + 'genre')
patron = '.*?<a[^h]+href="[^"]+"[^>]+>[^<]+<\/a>(?:<br \/>|<\/p>|-)'
matches = re.compile(patron).findall(html)
for data in matches:
# Estrae i contenuti
scrapedtitle = data.split('<a ')[0]
scrapedtitle = re.sub(r'<[^>]*>', '', scrapedtitle).strip()
if scrapedtitle != 'Categorie':
scrapedtitle = scrapedtitle.replace('×', 'x')
itemlist.append(
Item(channel=item.channel,
action="findvideos",
contentType="episode",
title="[COLOR azure]%s[/COLOR]" % (scrapedtitle + " (" + lang_title + ")"),
url=data,
thumbnail=item.thumbnail,
extra=item.extra,
fulltitle=scrapedtitle + " (" + lang_title + ")" + ' - ' + item.show,
show=item.show))
logger.info("[filmpertutti.py] episodios")
itemlist = []
itemlist = []
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
# Carica la pagina
data = httptools.downloadpage(item.url
, headers=headers
).data
data = httptools.downloadpage(item.url
).data
block
= scrapertools
V2.find_single_match
(data
, r'<ul class="table-list">(
.*?
)<\/ul>')
data
= scrapertools
.decodeHtmlentities
(data
)
matches =
scrapertoolsV2.find_multiple_matches(block, r'<a href="([^"]+)">.*?<\/span>(.*?)<\/a>')
for
url, title
in matches:
lang_titles = []
starts = []
patron = r"Stagione
.*?
ITA"
matches =
re.compile(patron, re.IGNORECASE).finditer(data)
for
match
in matches:
season_title = match.group()
if season_title != '':
lang_titles.append('SUB ITA' if 'SUB' in season_title.upper() else 'ITA')
starts.append(match.end())
i = 1
len_lang_titles = len(lang_titles)
while i <= len_lang_titles:
inizio = starts[i - 1]
fine = starts[i] if i < len_lang_titles else -1
html = data[inizio:fine]
lang_title = lang_titles[i - 1]
load_episodios(html, item, itemlist, lang_title)
i += 1
if config.get_videolibrary_support() and len(itemlist) != 0:
itemlist.append(
itemlist.append(
Item(channel=item.channel,
Item(channel=item.channel,
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
title="[COLOR lightblue]%s[/COLOR]" % config.get_localized_string(30161),
action='peliculas',
url=item.url,
title=title,
action="add_serie_to_library",
url=host+url)
extra="episodios" + "###" + item.extra,
)
show=item.show))
itemlist = thumb(itemlist)
return itemlist
return itemlist
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
def
findvideos
(item):
def
az
(item):
def add_my
item
(sitemlist, scontentType, stitle, surl):
logger.info(
item
.channel + 'genre')
s
itemlist.append(
itemlist = []
data = httptools.downloadpage(item.url, headers=headers).data
block = scrapertoolsV2.find_single_match(data, r'<select class="cats">(.*?)<\/select>')
matches = scrapertoolsV2.find_multiple_matches(block, r'<option data-src="([^"]+)">(.*?)<\/option>')
for url, title in matches:
itemlist.append(
Item(channel=item.channel,
Item(channel=item.channel,
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
action=
"play",
action=
'peliculas'
,
contentType=scontentType
,
title=
title,
title=
stitle,
url=
url
)
fulltitle=item.fulltitle,
)
server=s
title,
itemlist =
thumb
(itemlist)
url=
s
url
,
return itemlist
thumb
nail=item.thumbnail,
extra=item.extra))
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
logger.info(
"icarus.filmpertutti findvideos"
)
def peliculas(item):
logger.info(
item.channel + 'peliculas'
)
itemlist = []
itemlist = []
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
logger.debug(item)
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
# Carica la pagina
data = httptools.downloadpage(item.url, headers=headers).data
if item.contentType == "episode":
block = scrapertoolsV2.find_single_match(data, r'<ul class="posts">(.*)<\/ul>')
patron = '<a\s*href="(.*?)\s*".*?[^>]+>([^<]+)<\/a>'
matches = re.compile(patron).findall(item.url)
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
lsrvo
=
''
patron
=
r'<li><a href="([^"]+)" data-thumbnail="([^"]+)">.*?<div class="title">([^<]+)<\/div>'
for lurl, lsrv in
matches
:
matches = scrapertoolsV2.find_multiple_
matches
(block, patron)
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
if lsrv == 'HD': lsrv
=
lsrvo + ' HD
'
for scrapedurl, scrapedthumb, scrapedtitle in matches:
lsrvo
=
lsrv
title = re.sub(r'.\(.*?\)|.\[.*?\]', '', scrapedtitle)
quality = scrapertoolsV2.find_single_match(scrapedtitle, r'\[(.*?)\]')
if not quality:
quality
=
'SD
'
longtitle
=
title + ' [COLOR blue][' + quality + '][/COLOR]'
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
add_myitem(itemlist, "episode", "[COLOR azure]%s[/COLOR]" % lsrv, lurl)
if item.contentType == 'episode':
else:
action = 'episodios'
# Carica la pagina
else:
data = httptools.downloadpage(item.url).data
action ='findvideos'
patron = '<strong>\s*(Versione.*?)<p><strong>Download'
data = re.compile(patron, re.DOTALL).findall(data)
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
if data:
itemlist.append(
vqual = re.compile('ersione.*?:\s*([^|,\s,&,<]+)').findall(data[0])
Item(channel=item.channel,
sect = re.compile('Streaming', re.DOTALL).split(data[0])
action=action,
contentType=item.contentType,
title=longtitle,
fulltitle=title,
show=title,
quality=quality,
url=scrapedurl,
thumbnail=scrapedthumb
))
tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True)
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
## SD links
next_page = scrapertoolsV2.find_single_match(data, '<a href="([^"]+)">Pagina')
links = re.compile('<a\s*href="([^",\s]+).*?>([^<]+)', re.DOTALL).findall(sect[1])
if next_page != "":
itemlist.append(
Item(channel=item.channel,
action="peliculas",
contentType=item.contentType,
title="[COLOR blue]" + config.get_localized_string(30992) + " >[/COLOR]",
url=next_page,
thumbnails=thumb()))
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
for link, srv in links:
return
itemlist
add_myitem(
itemlist
, "movie", "[COLOR azure]%s (SD)[/COLOR] - %s" % (srv, vqual[0]), link)
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
## HD Links
if len(sect) > 2:
links = re.compile('<a\s*href="([^",\s]+).*?>([^<]+)', re.DOTALL).findall(sect[2])
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
for link, srv in links:
def episodios(item):
add_myitem(itemlist, "movie", "[COLOR azure]%s (HD)[/COLOR] - %s" % (srv, vqual[0]), link)
logger.info(item.channel + 'findvideos')
else:
itemlist = []
itemlist = servertools.find_video_items(item=item)
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
# for item in itemlist:
data = httptools.downloadpage(item.url, headers=headers).data
#
logger.info(item)
if 'accordion-item' in data:
block = scrapertoolsV2.find_single_match(data, 'accordion-item.*?>(.*?)<div id="disqus_thread">')
patron = r'<img src="([^"]+)">.*?<li class="season-no">(.*?)<\/li>(.*?)<\/table>'
matches = scrapertoolsV2.find_multiple_matches(block, patron)
for scrapedthumb, scrapedtitle, scrapedurl in matches:
title = scrapedtitle + ' - ' + item.title
if title[0] == 'x':
title = '1' + title
itemlist.append(
Item(channel=item.channel,
action='findvideos',
contentType=item.contentType,
title=title,
fulltitle=title,
show=title,
quality=item.quality,
url=scrapedurl,
thumbnail=scrapedthumb
))
else:
block = scrapertoolsV2.find_single_match(data, '<div id="info" class="pad">(.*?)<div id="disqus_thread">').replace('</p>','<br />').replace('×','x')
matches = scrapertoolsV2.find_multiple_matches(block, r'<strong>(.*?)<\/strong>.*?<p>(.*?)<span')
for lang, seasons in matches:
lang = re.sub('.*?Stagione[^a-zA-Z]+', '', lang)
# patron = r'([0-9]+x[0-9]+) (.*?)<br'
season = scrapertoolsV2.find_multiple_matches(seasons, r'([0-9]+x[0-9]+) (.*?)<br')
for title, url in season:
title = title + ' - ' + lang
itemlist.append(
Item(channel=item.channel,
title=title,
fulltitle=title,
show=title,
url=url,
contentType=item.contentType,
action='findvideos'
))
return itemlist
return itemlist
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
def
play
(item):
def
findvideos
(item):
logger.info(
"icarus.filmpertutti play: %s" %
item.
url)
logger.info(
item.
channel + 'findvideos'
)
data = item.url
data, c = unshortenit.unshorten(data
)
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
if item.contentType == 'movie':
data = httptools.downloadpage(item.url, headers=headers).data
else:
data = item.url
itemlist = servertools.find_video_items(data=data)
itemlist = servertools.find_video_items(data=data)
for videoitem in itemlist:
for videoitem in itemlist:
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
videoitem.title = item.title +
videoitem.title
videoitem.title = item.title +
' - [COLOR limegreen][[/COLOR]' +
videoitem.title
+ '[COLOR limegreen]][/COLOR]'
videoitem.fulltitle = item.fulltitle
videoitem.fulltitle = item.fulltitle
videoitem.thumbnail = item.thumbnail
videoitem.thumbnail = item.thumbnail
videoitem.show = item.show
videoitem.show = item.show
videoitem.plot = item.plot
videoitem.plot = item.plot
videoitem.channel = item.channel
videoitem.channel = item.channel
videoitem.contentType = item.contentType
videoitem.contentType = item.contentType
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
videoitem.quality = item.quality
autoplay.start(itemlist, item)
if item.contentType != 'episode':
if config.get_videolibrary_support() and len(itemlist) > 0 and item.extra != 'findvideos':
itemlist.append(
Item(channel=item.channel, title='[COLOR yellow][B]'+config.get_localized_string(30161)+'[/B][/COLOR]', url=item.url,
action="add_pelicula_to_library", extra="findvideos", contentTitle=item.fulltitle))
return itemlist
return itemlist
सेव किए गए Diffs
ऑरिजनल टेक्स्ट
फ़ाइल खोलें
# -*- coding: utf-8 -*- # ------------------------------------------------------------ # Icarus - XBMC Plugin # Canale per filmpertutti.co # https://alfa-addon.com/categories/icarus-addon.50/ # ------------------------------------------------------------ import re import urlparse from core import scrapertools, servertools, httptools from core.item import Item from core.tmdb import infoIca from lib import unshortenit from platformcode import config, logger host = "https://www.filmpertutti.uno" def mainlist(item): logger.info("icarus.filmpertutti mainlist") itemlist = [Item(channel=item.channel, title="[COLOR azure]Ultimi film inseriti[/COLOR]", action="peliculas", extra="movie", url="%s/category/film/" % host, thumbnail="http://orig03.deviantart.net/6889/f/2014/079/7/b/movies_and_popcorn_folder_icon_by_matheusgrilo-d7ay4tw.png"), Item(channel=item.channel, title="[COLOR azure]Categorie film[/COLOR]", action="categorias", url="%s/category/film/" % host, thumbnail="http://orig03.deviantart.net/6889/f/2014/079/7/b/movies_and_popcorn_folder_icon_by_matheusgrilo-d7ay4tw.png"), Item(channel=item.channel, title="[COLOR yellow]Cerca...[/COLOR]", action="search", extra="movie", thumbnail="http://dc467.4shared.com/img/fEbJqOum/s7/13feaf0c8c0/Search"), Item(channel=item.channel, title="[COLOR azure]Serie TV[/COLOR]", extra="tvshow", action="peliculas_tv", url="%s/category/serie-tv/" % host, thumbnail="http://orig03.deviantart.net/6889/f/2014/079/7/b/movies_and_popcorn_folder_icon_by_matheusgrilo-d7ay4tw.png"), Item(channel=item.channel, title="[COLOR yellow]Cerca Serie TV...[/COLOR]", action="search", extra="tvshow", thumbnail="http://dc467.4shared.com/img/fEbJqOum/s7/13feaf0c8c0/Search")] return itemlist def newest(categoria): logger.info("icarus.filmpertutti newest" + categoria) itemlist = [] item = Item() try: if categoria == "film": item.url = host + "/category/film/" item.action = "peliculas" item.extra = "movie" itemlist = peliculas(item) if itemlist[-1].action == "peliculas": itemlist.pop() # Continua la ricerca in caso di errore except: import sys for line in sys.exc_info(): logger.error("{0}".format(line)) return [] return itemlist def peliculas(item): logger.info("icarus.filmpertutti peliculas") itemlist = [] # Carica la pagina data = httptools.downloadpage(item.url).data # Estrae i contenuti patron = '<li><a href="([^"]+)" data-thumbnail="([^"]+)"><div>\s*<div class="title">(.*?)<.*?IMDb">([^<]+)' matches = re.compile(patron, re.DOTALL).findall(data) for scrapedurl, scrapedthumbnail, scrapedtitle, scraprate in matches: scrapedplot = "" itemlist.append(infoIca( Item(channel=item.channel, action="findvideos", contentType="movie", fulltitle=scrapedtitle, show=scrapedtitle, title="[COLOR azure]" + scrapedtitle + "[/COLOR] - IMDb: " + scraprate, url=scrapedurl, thumbnail=scrapedthumbnail, plot=scrapedplot, extra=item.extra, folder=True), tipo='movie')) # Paginazione patronvideos = '<a href="([^"]+)"[^>]+>Pagina' matches = re.compile(patronvideos, re.DOTALL).findall(data) if len(matches) > 0: scrapedurl = urlparse.urljoin(item.url, matches[0]) itemlist.append( Item(channel=item.channel, action="peliculas", title="[COLOR lightgreen]" + config.get_localized_string(30992) + "[/COLOR]", url=scrapedurl, thumbnail="http://2.bp.blogspot.com/-fE9tzwmjaeQ/UcM2apxDtjI/AAAAAAAAeeg/WKSGM2TADLM/s1600/pager+old.png", extra=item.extra, folder=True)) return itemlist def peliculas_tv(item): logger.info("icarus.filmpertutti peliculas") itemlist = [] # Carica la pagina data = httptools.downloadpage(item.url).data # Estrae i contenuti patron = '<li><a href="([^"]+)" data-thumbnail="([^"]+)"><div>\s*<div class="title">(.*?)<' matches = re.compile(patron, re.DOTALL).findall(data) for scrapedurl, scrapedthumbnail, scrapedtitle in matches: title = scrapertools.decodeHtmlentities(scrapedtitle) scrapedplot = "" itemlist.append(infoIca( Item(channel=item.channel, action="episodios", fulltitle=title, show=title, title="[COLOR azure]" + title + "[/COLOR]", url=scrapedurl, thumbnail=scrapedthumbnail, plot=scrapedplot, extra=item.extra, folder=True), tipo='tv')) # Paginazione patronvideos = '<a href="([^"]+)"[^>]+>Pagina' matches = re.compile(patronvideos, re.DOTALL).findall(data) if len(matches) > 0: scrapedurl = urlparse.urljoin(item.url, matches[0]) itemlist.append( Item(channel=item.channel, action="peliculas_tv", title="[COLOR lightgreen]" + config.get_localized_string(30992) + "[/COLOR]", url=scrapedurl, thumbnail="http://2.bp.blogspot.com/-fE9tzwmjaeQ/UcM2apxDtjI/AAAAAAAAeeg/WKSGM2TADLM/s1600/pager+old.png", extra=item.extra, folder=True)) return itemlist def categorias(item): logger.info("icarus.filmpertutti categorias") itemlist = [] data = httptools.downloadpage(item.url).data # Narrow search by selecting only the combo patron = '<option>Scegli per Genere</option>(.*?)</select' bloque = scrapertools.get_match(data, patron) # The categories are the options for the combo patron = '<option data-src="([^"]+)">([^<]+)</option>' matches = re.compile(patron, re.DOTALL).findall(bloque) for scrapedurl, scrapedtitle in matches: scrapedurl = urlparse.urljoin(item.url, scrapedurl) scrapedthumbnail = "" scrapedplot = "" itemlist.append( Item(channel=item.channel, action="peliculas", title="[COLOR azure]" + scrapedtitle + "[/COLOR]", url=scrapedurl, thumbnail=scrapedthumbnail, extra=item.extra, plot=scrapedplot)) return itemlist def search(item, texto): logger.info("icarus.filmpertutti " + item.url + " search " + texto) item.url = host + "/?s=" + texto try: if item.extra == "movie": return peliculas(item) if item.extra == "tvshow": return peliculas_tv(item) # Continua la ricerca in caso di errore except: import sys for line in sys.exc_info(): logger.error("%s" % line) return [] def episodios(item): def load_episodios(html, item, itemlist, lang_title): patron = '.*?<a[^h]+href="[^"]+"[^>]+>[^<]+<\/a>(?:<br \/>|<\/p>|-)' matches = re.compile(patron).findall(html) for data in matches: # Estrae i contenuti scrapedtitle = data.split('<a ')[0] scrapedtitle = re.sub(r'<[^>]*>', '', scrapedtitle).strip() if scrapedtitle != 'Categorie': scrapedtitle = scrapedtitle.replace('×', 'x') itemlist.append( Item(channel=item.channel, action="findvideos", contentType="episode", title="[COLOR azure]%s[/COLOR]" % (scrapedtitle + " (" + lang_title + ")"), url=data, thumbnail=item.thumbnail, extra=item.extra, fulltitle=scrapedtitle + " (" + lang_title + ")" + ' - ' + item.show, show=item.show)) logger.info("[filmpertutti.py] episodios") itemlist = [] # Carica la pagina data = httptools.downloadpage(item.url).data data = scrapertools.decodeHtmlentities(data) lang_titles = [] starts = [] patron = r"Stagione.*?ITA" matches = re.compile(patron, re.IGNORECASE).finditer(data) for match in matches: season_title = match.group() if season_title != '': lang_titles.append('SUB ITA' if 'SUB' in season_title.upper() else 'ITA') starts.append(match.end()) i = 1 len_lang_titles = len(lang_titles) while i <= len_lang_titles: inizio = starts[i - 1] fine = starts[i] if i < len_lang_titles else -1 html = data[inizio:fine] lang_title = lang_titles[i - 1] load_episodios(html, item, itemlist, lang_title) i += 1 if config.get_videolibrary_support() and len(itemlist) != 0: itemlist.append( Item(channel=item.channel, title="[COLOR lightblue]%s[/COLOR]" % config.get_localized_string(30161), url=item.url, action="add_serie_to_library", extra="episodios" + "###" + item.extra, show=item.show)) return itemlist def findvideos(item): def add_myitem(sitemlist, scontentType, stitle, surl): sitemlist.append( Item(channel=item.channel, action="play", contentType=scontentType, title=stitle, fulltitle=item.fulltitle, server=stitle, url=surl, thumbnail=item.thumbnail, extra=item.extra)) logger.info("icarus.filmpertutti findvideos") itemlist = [] logger.debug(item) # Carica la pagina if item.contentType == "episode": patron = '<a\s*href="(.*?)\s*".*?[^>]+>([^<]+)<\/a>' matches = re.compile(patron).findall(item.url) lsrvo = '' for lurl, lsrv in matches: if lsrv == 'HD': lsrv = lsrvo + ' HD' lsrvo = lsrv add_myitem(itemlist, "episode", "[COLOR azure]%s[/COLOR]" % lsrv, lurl) else: # Carica la pagina data = httptools.downloadpage(item.url).data patron = '<strong>\s*(Versione.*?)<p><strong>Download' data = re.compile(patron, re.DOTALL).findall(data) if data: vqual = re.compile('ersione.*?:\s*([^|,\s,&,<]+)').findall(data[0]) sect = re.compile('Streaming', re.DOTALL).split(data[0]) ## SD links links = re.compile('<a\s*href="([^",\s]+).*?>([^<]+)', re.DOTALL).findall(sect[1]) for link, srv in links: add_myitem(itemlist, "movie", "[COLOR azure]%s (SD)[/COLOR] - %s" % (srv, vqual[0]), link) ## HD Links if len(sect) > 2: links = re.compile('<a\s*href="([^",\s]+).*?>([^<]+)', re.DOTALL).findall(sect[2]) for link, srv in links: add_myitem(itemlist, "movie", "[COLOR azure]%s (HD)[/COLOR] - %s" % (srv, vqual[0]), link) else: itemlist = servertools.find_video_items(item=item) # for item in itemlist: # logger.info(item) return itemlist def play(item): logger.info("icarus.filmpertutti play: %s" % item.url) data = item.url data, c = unshortenit.unshorten(data) itemlist = servertools.find_video_items(data=data) for videoitem in itemlist: videoitem.title = item.title + videoitem.title videoitem.fulltitle = item.fulltitle videoitem.thumbnail = item.thumbnail videoitem.show = item.show videoitem.plot = item.plot videoitem.channel = item.channel videoitem.contentType = item.contentType return itemlist
परिवर्तित टेक्स्ट
फ़ाइल खोलें
# -*- coding: utf-8 -*- # ------------------------------------------------------------ # Ringraziamo Icarus crew # Canale per filmpertutti.co # ------------------------------------------------------------ import re import urlparse from channels import autoplay, support from core import scrapertoolsV2, servertools, httptools, tmdb from core.item import Item from lib import unshortenit from platformcode import config, logger from channelselector import thumb host = "https://www.filmpertutti.club" headers = [['Referer', host]] list_servers = ['openload', 'streamango', 'wstream', 'akvideo'] list_quality = ['HD', 'SD'] def mainlist(item): logger.info() itemlist =[] support.menu(itemlist, '[B]Film[/B]', 'peliculas', host + '/category/film/', 'movie') support.menu(itemlist, '[B] > Film per Genere[/B]', 'genre', host, 'episode') support.menu(itemlist, '[B]Serie TV[/B]', 'peliculas', host + '/category/serie-tv/', 'episode') support.menu(itemlist, '[B] > Serie TV in ordine alfabetico[/B]', 'az', host + '/category/serie-tv/', 'episode') support.menu(itemlist, '[COLOR blue]Cerca Serie TV...[/COLOR]', 'search', '', 'episode') autoplay.init(item.channel, list_servers, list_quality) autoplay.show_option(item.channel, itemlist) for item in itemlist: logger.info('MENU=' + str(item) ) return itemlist def newest(categoria): logger.info("filmpertutti newest" + categoria) itemlist = [] item = Item() try: if categoria == "film": item.url = host + "/category/film/" item.action = "peliculas" item.extra = "movie" itemlist = peliculas(item) if itemlist[-1].action == "peliculas": itemlist.pop() # Continua la ricerca in caso di errore except: import sys for line in sys.exc_info(): logger.error("{0}".format(line)) return [] return itemlist def search(item, texto): logger.info("filmpertutti " + item.url + " search " + texto) item.url = host + "/?s=" + texto try: return peliculas(item) # Continua la ricerca in caso di errore except: import sys for line in sys.exc_info(): logger.error("%s" % line) return [] def genre(item): logger.info(item.channel + 'genre') itemlist = [] data = httptools.downloadpage(item.url, headers=headers).data block = scrapertoolsV2.find_single_match(data, r'<ul class="table-list">(.*?)<\/ul>') matches = scrapertoolsV2.find_multiple_matches(block, r'<a href="([^"]+)">.*?<\/span>(.*?)<\/a>') for url, title in matches: itemlist.append( Item(channel=item.channel, action='peliculas', title=title, url=host+url) ) itemlist = thumb(itemlist) return itemlist def az(item): logger.info(item.channel + 'genre') itemlist = [] data = httptools.downloadpage(item.url, headers=headers).data block = scrapertoolsV2.find_single_match(data, r'<select class="cats">(.*?)<\/select>') matches = scrapertoolsV2.find_multiple_matches(block, r'<option data-src="([^"]+)">(.*?)<\/option>') for url, title in matches: itemlist.append( Item(channel=item.channel, action='peliculas', title=title, url=url) ) itemlist = thumb(itemlist) return itemlist def peliculas(item): logger.info(item.channel + 'peliculas') itemlist = [] data = httptools.downloadpage(item.url, headers=headers).data block = scrapertoolsV2.find_single_match(data, r'<ul class="posts">(.*)<\/ul>') patron = r'<li><a href="([^"]+)" data-thumbnail="([^"]+)">.*?<div class="title">([^<]+)<\/div>' matches = scrapertoolsV2.find_multiple_matches(block, patron) for scrapedurl, scrapedthumb, scrapedtitle in matches: title = re.sub(r'.\(.*?\)|.\[.*?\]', '', scrapedtitle) quality = scrapertoolsV2.find_single_match(scrapedtitle, r'\[(.*?)\]') if not quality: quality = 'SD' longtitle = title + ' [COLOR blue][' + quality + '][/COLOR]' if item.contentType == 'episode': action = 'episodios' else: action ='findvideos' itemlist.append( Item(channel=item.channel, action=action, contentType=item.contentType, title=longtitle, fulltitle=title, show=title, quality=quality, url=scrapedurl, thumbnail=scrapedthumb )) tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) next_page = scrapertoolsV2.find_single_match(data, '<a href="([^"]+)">Pagina') if next_page != "": itemlist.append( Item(channel=item.channel, action="peliculas", contentType=item.contentType, title="[COLOR blue]" + config.get_localized_string(30992) + " >[/COLOR]", url=next_page, thumbnails=thumb())) return itemlist def episodios(item): logger.info(item.channel + 'findvideos') itemlist = [] data = httptools.downloadpage(item.url, headers=headers).data if 'accordion-item' in data: block = scrapertoolsV2.find_single_match(data, 'accordion-item.*?>(.*?)<div id="disqus_thread">') patron = r'<img src="([^"]+)">.*?<li class="season-no">(.*?)<\/li>(.*?)<\/table>' matches = scrapertoolsV2.find_multiple_matches(block, patron) for scrapedthumb, scrapedtitle, scrapedurl in matches: title = scrapedtitle + ' - ' + item.title if title[0] == 'x': title = '1' + title itemlist.append( Item(channel=item.channel, action='findvideos', contentType=item.contentType, title=title, fulltitle=title, show=title, quality=item.quality, url=scrapedurl, thumbnail=scrapedthumb )) else: block = scrapertoolsV2.find_single_match(data, '<div id="info" class="pad">(.*?)<div id="disqus_thread">').replace('</p>','<br />').replace('×','x') matches = scrapertoolsV2.find_multiple_matches(block, r'<strong>(.*?)<\/strong>.*?<p>(.*?)<span') for lang, seasons in matches: lang = re.sub('.*?Stagione[^a-zA-Z]+', '', lang) # patron = r'([0-9]+x[0-9]+) (.*?)<br' season = scrapertoolsV2.find_multiple_matches(seasons, r'([0-9]+x[0-9]+) (.*?)<br') for title, url in season: title = title + ' - ' + lang itemlist.append( Item(channel=item.channel, title=title, fulltitle=title, show=title, url=url, contentType=item.contentType, action='findvideos' )) return itemlist def findvideos(item): logger.info(item.channel + 'findvideos') if item.contentType == 'movie': data = httptools.downloadpage(item.url, headers=headers).data else: data = item.url itemlist = servertools.find_video_items(data=data) for videoitem in itemlist: videoitem.title = item.title + ' - [COLOR limegreen][[/COLOR]' + videoitem.title + '[COLOR limegreen]][/COLOR]' videoitem.fulltitle = item.fulltitle videoitem.thumbnail = item.thumbnail videoitem.show = item.show videoitem.plot = item.plot videoitem.channel = item.channel videoitem.contentType = item.contentType videoitem.quality = item.quality autoplay.start(itemlist, item) if item.contentType != 'episode': if config.get_videolibrary_support() and len(itemlist) > 0 and item.extra != 'findvideos': itemlist.append( Item(channel=item.channel, title='[COLOR yellow][B]'+config.get_localized_string(30161)+'[/B][/COLOR]', url=item.url, action="add_pelicula_to_library", extra="findvideos", contentTitle=item.fulltitle)) return itemlist
अंतर खोजें