", "", data) - patron = '.*?' - patron += 'data-origen="([^"]+)" alt="([^"]+)"' - matches = re.compile(patron,re.DOTALL).findall(data) - scrapertools.printMatches(matches) - for scrapedurl,scrapedthumbnail,scrapedtitle in matches: - scrapedplot = "" - scrapedurl = urlparse.urljoin(item.url,scrapedurl) - itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl, - thumbnail=scrapedthumbnail, plot=scrapedplot) ) - # > - next_page = scrapertools.find_single_match(data,'>') - if next_page!="": - next_page = urlparse.urljoin(item.url,next_page) - itemlist.append(item.clone(action="lista" , title="Página Siguiente >>", text_color="blue", url=next_page) ) - return itemlist - - - return itemlist - - -def categorias(item): - logger.info() - itemlist = [] - data = httptools.downloadpage(item.url).data - data = re.sub(r"\n|\r|\t| |
", "", data) - patron = '
", "", data) - patron = '
", "", data) - patron = '
", "", data) - - - patron = '' - patron += '([^<]+)' - patron += '([^<]+)' - matches = re.compile(patron,re.DOTALL).findall(data) - for scrapedurl,scrapedtitle,cantidad in matches: - scrapedplot = "" - scrapedtitle = "%s %s" % (scrapedtitle,cantidad) - scrapedurl = scrapedurl + "?page=1" - thumbnail = "" - itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl, - thumbnail=thumbnail , plot=scrapedplot) ) - return itemlist - - -def catalogo(item): - logger.info() - itemlist = [] - data = httptools.downloadpage(item.url).data - data = re.sub(r"\n|\r|\t| |
|
", "", data) - logger.debug(data) - patron = '
|
", "", data) - patron = '
')
- if next_page:
- next_page = urlparse.urljoin(item.url,next_page)
- itemlist.append( Item(channel=item.channel, action="lista", title="Página Siguiente >>", text_color="blue",
- url=next_page) )
- return itemlist
-
-
-def play(item):
- logger.info()
- itemlist = []
- data = httptools.downloadpage(item.url).data
- data = re.sub(r"\n|\r|\t| |
", "", data)
- patron = '", "", data)
- patron = '.*?'
- patron += 'src="([^"]+)".*?'
- patron += '([^"]+).*?'
- patron += '(.*?)'
- matches = re.compile(patron,re.DOTALL).findall(data)
- for scrapedurl,scrapedthumbnail,scrapedtitle,vidnum in matches:
- scrapedplot = ""
- title = scrapedtitle + " \(" + vidnum + "\)"
- itemlist.append( Item(channel=item.channel, action="peliculas", title=scrapedtitle, url=scrapedurl,
- thumbnail=scrapedthumbnail, plot=scrapedplot) )
- return itemlist
-
-
-def peliculas(item):
- logger.info()
- itemlist = []
- data = httptools.downloadpage(item.url).data
- patron = '.*?'
- patron += '
(.*?)'
- matches = re.compile(patron,re.DOTALL).findall(data)
- for scrapedurl,scrapedthumbnail,scrapedtitle,time in matches:
- title = "[COLOR yellow]" + time + "[/COLOR] " + scrapedtitle
- contentTitle = title
- thumbnail = scrapedthumbnail
- plot = ""
- itemlist.append( Item(channel=item.channel, action="play", title=title, url=scrapedurl,
- thumbnail=thumbnail, plot=plot, contentTitle = contentTitle))
- next_page_url = scrapertools.find_single_match(data,'Next')
- if next_page_url!="":
- next_page_url = urlparse.urljoin(item.url,next_page_url)
- itemlist.append(item.clone(action="peliculas", title="Página Siguiente >>", text_color="blue", url=next_page_url) )
- return itemlist
-
-
-def play(item):
- logger.info()
- itemlist = []
- data = httptools.downloadpage(item.url).data
- video_url = scrapertools.find_single_match(data, 'var video_url = "([^"]*)"')
- video_url += scrapertools.find_single_match(data, 'video_url \+= "([^"]*)"')
- partes = video_url.split('||')
- video_url = decode_url(partes[0])
- video_url = re.sub('/get_file/\d+/[0-9a-z]{32}/', partes[1], video_url)
- video_url += '&' if '?' in video_url else '?'
- video_url += 'lip=' + partes[2] + '<=' + partes[3]
- itemlist.append(item.clone(action="play", title=item.title, url=video_url))
- return itemlist
-
-
-def decode_url(txt):
- _0x52f6x15 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,~'
- reto = ''; n = 0
- # En las dos siguientes líneas, ABCEM ocupan 2 bytes cada letra! El replace lo deja en 1 byte. !!!!: АВСЕМ (10 bytes) ABCEM (5 bytes)
- txt = re.sub('[^АВСЕМA-Za-z0-9\.\,\~]', '', txt)
- txt = txt.replace('А', 'A').replace('В', 'B').replace('С', 'C').replace('Е', 'E').replace('М', 'M')
-
- while n < len(txt):
- a = _0x52f6x15.index(txt[n])
- n += 1
- b = _0x52f6x15.index(txt[n])
- n += 1
- c = _0x52f6x15.index(txt[n])
- n += 1
- d = _0x52f6x15.index(txt[n])
- n += 1
-
- a = a << 2 | b >> 4
- b = (b & 15) << 4 | c >> 2
- e = (c & 3) << 6 | d
- reto += chr(a)
- if c != 64: reto += chr(b)
- if d != 64: reto += chr(e)
-
- return urllib.unquote(reto)
-
diff --git a/channels/porn/hdzog.json b/channels/porn/hdzog.json
deleted file mode 100644
index fe66dbd5..00000000
--- a/channels/porn/hdzog.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "id": "hdzog",
- "name": "hdzog",
- "active": true,
- "adult": true,
- "language": ["*"],
- "thumbnail": "http://www.hdzog.com/apple-touch-icon-120x120.png",
- "banner": "",
- "categories": [
- "adult"
- ],
- "settings": [
-
- ]
-}
-
diff --git a/channels/porn/hdzog.py b/channels/porn/hdzog.py
deleted file mode 100644
index 09ef0158..00000000
--- a/channels/porn/hdzog.py
+++ /dev/null
@@ -1,119 +0,0 @@
-# -*- coding: utf-8 -*-
-#------------------------------------------------------------
-import urlparse,urllib2,urllib,re
-import os, sys
-from platformcode import config, logger
-from core import scrapertools
-from core.item import Item
-from core import servertools
-from core import httptools
-
-host = 'http://www.hdzog.com'
-
-def mainlist(item):
- logger.info()
- itemlist = []
- itemlist.append( Item(channel=item.channel, title="Nuevos" , action="lista", url=host + "/new/"))
- itemlist.append( Item(channel=item.channel, title="Popular" , action="lista", url=host + "/popular/"))
- itemlist.append( Item(channel=item.channel, title="Longitud" , action="lista", url=host + "/longest/"))
- itemlist.append( Item(channel=item.channel, title="Categorias" , action="categorias", url=host + "/categories/"))
- itemlist.append( Item(channel=item.channel, title="Buscar", action="search"))
- return itemlist
-
-def search(item, texto):
- logger.info()
- texto = texto.replace(" ", "+")
- item.url = host + "/search/?q=%s" % texto
- try:
- return lista(item)
- except:
- import sys
- for line in sys.exc_info():
- logger.error("%s" % line)
- return []
-
-
-def categorias(item):
- logger.info()
- itemlist = []
- data = httptools.downloadpage(item.url).data
- data = scrapertools.find_single_match(data,'(.*?)
')
- data = re.sub(r"\n|\r|\t| |
", "", data)
- patron = '.*?(\d+)'
- matches = re.compile(patron,re.DOTALL).findall(data)
- for scrapedurl,scrapedthumbnail,scrapedtitle,vidnum in matches:
- scrapedplot = ""
-
- url= scrapedurl + "?sortby=post_date"
- title = scrapedtitle + " \(" + vidnum + "\)"
- itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=url,
- thumbnail=scrapedthumbnail, plot=scrapedplot) )
- return itemlist
-
-
-def lista(item):
- logger.info()
- itemlist = []
- data = httptools.downloadpage(item.url).data
- data = scrapertools.find_single_match(data,'(.*?)Advertisement
')
- patron = '- .*?(.*?)'
- matches = re.compile(patron,re.DOTALL).findall(data)
- for scrapedurl,scrapedthumbnail,scrapedtitle,time in matches:
- contentTitle = scrapedtitle
- title = "[COLOR yellow]" + time + "[/COLOR] " + scrapedtitle
- thumbnail = scrapedthumbnail
- plot = ""
- itemlist.append( Item(channel=item.channel, action="play", title=title, url=scrapedurl,
- thumbnail=thumbnail, plot=plot, contentTitle = contentTitle))
- next_page = scrapertools.find_single_match(data,'Next page »')
- if next_page!="":
- next_page = urlparse.urljoin(item.url,next_page)
- itemlist.append(item.clone(action="lista", title="Página Siguiente >>", text_color="blue", url=next_page) )
- return itemlist
-
-
-def play(item):
- logger.info(item)
- itemlist = []
- data = httptools.downloadpage(item.url).data
- video_url = scrapertools.find_single_match(data, 'var video_url="([^"]*)"')
- video_url += scrapertools.find_single_match(data, 'video_url\+="([^"]*)"')
- partes = video_url.split('||')
- video_url = decode_url(partes[0])
- video_url = re.sub('/get_file/\d+/[0-9a-z]{32}/', partes[1], video_url)
- video_url += '&' if '?' in video_url else '?'
- video_url += 'lip=' + partes[2] + '<=' + partes[3]
- itemlist.append(item.clone(action="play", title=item.title, url=video_url))
- return itemlist
-
-
-def decode_url(txt):
- _0x52f6x15 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,~'
- reto = ''; n = 0
- # En las dos siguientes líneas, ABCEM ocupan 2 bytes cada letra! El replace lo deja en 1 byte. !!!!: АВСЕМ (10 bytes) ABCEM (5 bytes)
- txt = re.sub('[^АВСЕМA-Za-z0-9\.\,\~]', '', txt)
- txt = txt.replace('А', 'A').replace('В', 'B').replace('С', 'C').replace('Е', 'E').replace('М', 'M')
-
- while n < len(txt):
- a = _0x52f6x15.index(txt[n])
- n += 1
- b = _0x52f6x15.index(txt[n])
- n += 1
- c = _0x52f6x15.index(txt[n])
- n += 1
- d = _0x52f6x15.index(txt[n])
- n += 1
-
- a = a << 2 | b >> 4
- b = (b & 15) << 4 | c >> 2
- e = (c & 3) << 6 | d
- reto += chr(a)
- if c != 64: reto += chr(b)
- if d != 64: reto += chr(e)
-
- return urllib.unquote(reto)
-
diff --git a/channels/porn/hellporno.json b/channels/porn/hellporno.json
deleted file mode 100644
index bbb61486..00000000
--- a/channels/porn/hellporno.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "id": "hellporno",
- "name": "hellporno",
- "active": true,
- "adult": true,
- "language": ["*"],
- "thumbnail": "http://hellporno.com/apple-touch-icon-152x152.png",
- "banner": "",
- "categories": [
- "adult"
- ],
- "settings": [
-
- ]
-}
-
diff --git a/channels/porn/hellporno.py b/channels/porn/hellporno.py
deleted file mode 100644
index 0dab3be3..00000000
--- a/channels/porn/hellporno.py
+++ /dev/null
@@ -1,89 +0,0 @@
-# -*- coding: utf-8 -*-
-#------------------------------------------------------------
-import urlparse,urllib2,urllib,re
-import os, sys
-from platformcode import config, logger
-from core import scrapertools
-from core.item import Item
-from core import servertools
-from core import httptools
-
-host = 'http://hellporno.com'
-
-def mainlist(item):
- logger.info()
- itemlist = []
- itemlist.append( Item(channel=item.channel, title="Nuevas" , action="lista", url=host + "/?page=1"))
- itemlist.append( Item(channel=item.channel, title="Categorias" , action="categorias", url=host + "/categories/"))
- itemlist.append( Item(channel=item.channel, title="Buscar", action="search"))
- return itemlist
-
-
-def search(item, texto):
- logger.info()
- texto = texto.replace(" ", "+")
- item.url = host + "/search/?q=%s" % texto
- try:
- return lista(item)
- except:
- import sys
- for line in sys.exc_info():
- logger.error("%s" % line)
- return []
-
-
-def categorias(item):
- logger.info()
- itemlist = []
- data = httptools.downloadpage(item.url).data
- data = re.sub(r"\n|\r|\t| |
", "", data)
- patron = '.*?'
- patron += '
.*?'
- patron += '(\d+) videos'
- matches = re.compile(patron,re.DOTALL).findall(data)
- for scrapedurl,scrapedthumbnail,scrapedtitle,cantidad in matches:
- scrapedplot = ""
- scrapedtitle = scrapedtitle + " (" + cantidad + ")"
- itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl,
- fanart=scrapedthumbnail, thumbnail=scrapedthumbnail , plot=scrapedplot) )
- next_page = scrapertools.find_single_match(data,'Next page »')
- if next_page!="":
- next_page = urlparse.urljoin(item.url,next_page)
- itemlist.append(item.clone(action="categorias" , title="Página Siguiente >>", text_color="blue", url=next_page) )
- return itemlist
-
-
-def lista(item):
- logger.info()
- itemlist = []
- data = httptools.downloadpage(item.url).data
- data = re.sub(r"\n|\r|\t| |
", "", data)
- patron = '([^"]+).*?'
- patron += '([^<]+).*?'
- patron += '
- (.*?)
", "", data) - patron = '
- (.*?)
- .*?(.*?)'
- matches = re.compile(patron,re.DOTALL).findall(data)
- for scrapedurl,scrapedthumbnail,scrapedtitle,time in matches:
- contentTitle = scrapedtitle
- title = "[COLOR yellow]" + time + "[/COLOR] " + scrapedtitle
- thumbnail = scrapedthumbnail
- plot = ""
- itemlist.append( Item(channel=item.channel, action="play", title=title, url=scrapedurl,
- thumbnail=thumbnail, plot=plot, contentTitle = contentTitle))
- next_page = scrapertools.find_single_match(data,'Next page »')
- if next_page!="":
- next_page = urlparse.urljoin(item.url,next_page)
- itemlist.append(item.clone(action="lista", title="Página Siguiente >>", text_color="blue", url=next_page) )
- return itemlist
-
-
-def play(item):
- logger.info(item)
- itemlist = []
- data = httptools.downloadpage(item.url).data
- video_url = scrapertools.find_single_match(data, 'var video_url="([^"]*)"')
- video_url += scrapertools.find_single_match(data, 'video_url\+="([^"]*)"')
- partes = video_url.split('||')
- video_url = decode_url(partes[0])
- video_url = re.sub('/get_file/\d+/[0-9a-z]{32}/', partes[1], video_url)
- video_url += '&' if '?' in video_url else '?'
- video_url += 'lip=' + partes[2] + '<=' + partes[3]
- itemlist.append(item.clone(action="play", title=item.title, url=video_url))
- return itemlist
-
-
-def decode_url(txt):
- _0x52f6x15 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,~'
- reto = ''; n = 0
- # En las dos siguientes líneas, ABCEM ocupan 2 bytes cada letra! El replace lo deja en 1 byte. !!!!: АВСЕМ (10 bytes) ABCEM (5 bytes)
- txt = re.sub('[^АВСЕМA-Za-z0-9\.\,\~]', '', txt)
- txt = txt.replace('А', 'A').replace('В', 'B').replace('С', 'C').replace('Е', 'E').replace('М', 'M')
-
- while n < len(txt):
- a = _0x52f6x15.index(txt[n])
- n += 1
- b = _0x52f6x15.index(txt[n])
- n += 1
- c = _0x52f6x15.index(txt[n])
- n += 1
- d = _0x52f6x15.index(txt[n])
- n += 1
-
- a = a << 2 | b >> 4
- b = (b & 15) << 4 | c >> 2
- e = (c & 3) << 6 | d
- reto += chr(a)
- if c != 64: reto += chr(b)
- if d != 64: reto += chr(e)
-
- return urllib.unquote(reto)
-
diff --git a/channels/porn/hellporno.json b/channels/porn/hellporno.json
deleted file mode 100644
index bbb61486..00000000
--- a/channels/porn/hellporno.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "id": "hellporno",
- "name": "hellporno",
- "active": true,
- "adult": true,
- "language": ["*"],
- "thumbnail": "http://hellporno.com/apple-touch-icon-152x152.png",
- "banner": "",
- "categories": [
- "adult"
- ],
- "settings": [
-
- ]
-}
-
diff --git a/channels/porn/hellporno.py b/channels/porn/hellporno.py
deleted file mode 100644
index 0dab3be3..00000000
--- a/channels/porn/hellporno.py
+++ /dev/null
@@ -1,89 +0,0 @@
-# -*- coding: utf-8 -*-
-#------------------------------------------------------------
-import urlparse,urllib2,urllib,re
-import os, sys
-from platformcode import config, logger
-from core import scrapertools
-from core.item import Item
-from core import servertools
-from core import httptools
-
-host = 'http://hellporno.com'
-
-def mainlist(item):
- logger.info()
- itemlist = []
- itemlist.append( Item(channel=item.channel, title="Nuevas" , action="lista", url=host + "/?page=1"))
- itemlist.append( Item(channel=item.channel, title="Categorias" , action="categorias", url=host + "/categories/"))
- itemlist.append( Item(channel=item.channel, title="Buscar", action="search"))
- return itemlist
-
-
-def search(item, texto):
- logger.info()
- texto = texto.replace(" ", "+")
- item.url = host + "/search/?q=%s" % texto
- try:
- return lista(item)
- except:
- import sys
- for line in sys.exc_info():
- logger.error("%s" % line)
- return []
-
-
-def categorias(item):
- logger.info()
- itemlist = []
- data = httptools.downloadpage(item.url).data
- data = re.sub(r"\n|\r|\t| |
", "", data) - patron = '.*?' - patron += '.*?' - patron += '(\d+) videos' - matches = re.compile(patron,re.DOTALL).findall(data) - for scrapedurl,scrapedthumbnail,scrapedtitle,cantidad in matches: - scrapedplot = "" - scrapedtitle = scrapedtitle + " (" + cantidad + ")" - itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl, - fanart=scrapedthumbnail, thumbnail=scrapedthumbnail , plot=scrapedplot) ) - next_page = scrapertools.find_single_match(data,'Next page »') - if next_page!="": - next_page = urlparse.urljoin(item.url,next_page) - itemlist.append(item.clone(action="categorias" , title="Página Siguiente >>", text_color="blue", url=next_page) ) - return itemlist - - -def lista(item): - logger.info() - itemlist = [] - data = httptools.downloadpage(item.url).data - data = re.sub(r"\n|\r|\t| |
", "", data) - patron = '([^"]+).*?' - patron += '([^<]+).*?' - patron += '
Advertisement
') - patron = '') - for url in matches: - down_urls.append(url) - except: - pass - video_urls.extend(down_urls) - from core import servertools - itemlist = servertools.find_video_items(data=",".join(video_urls)) - for videoitem in itemlist: - videoitem.contentTitle = item.contentTitle - videoitem.channel = item.channel - videoitem.thumbnail = item.thumbnail - - return itemlist diff --git a/channels/porn/hotmovs.json b/channels/porn/hotmovs.json deleted file mode 100644 index dd056521..00000000 --- a/channels/porn/hotmovs.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "id": "hotmovs", - "name": "hotmovs", - "active": true, - "adult": true, - "language": ["*"], - "thumbnail": "https://hotmovs.com/images/logo.png", - "banner": "", - "categories": [ - "adult" - ], - "settings": [ - - ] -} - diff --git a/channels/porn/hotmovs.py b/channels/porn/hotmovs.py deleted file mode 100644 index 37ec2078..00000000 --- a/channels/porn/hotmovs.py +++ /dev/null @@ -1,147 +0,0 @@ -# -*- coding: utf-8 -*- -#------------------------------------------------------------ -import urlparse,urllib2,urllib,re -import os, sys -from platformcode import config, logger -from core import scrapertools -from core.item import Item -from core import servertools -from core import httptools - -host = 'https://hotmovs.com' - -def mainlist(item): - logger.info() - itemlist = [] - itemlist.append( Item(channel=item.channel, title="Nuevas" , action="lista", url=host + "/latest-updates/")) - itemlist.append( Item(channel=item.channel, title="Mas Vistas" , action="lista", url=host + "/most-popular/?sort_by=video_viewed_week")) - itemlist.append( Item(channel=item.channel, title="Mejor valorada" , action="lista", url=host + "/top-rated/?sort_by=rating_week")) - itemlist.append( Item(channel=item.channel, title="Canal" , action="catalogo", url=host + "/channels/?sort_by=cs_viewed")) - itemlist.append( Item(channel=item.channel, title="Pornstars" , action="categorias", url=host + "/models/")) - itemlist.append( Item(channel=item.channel, title="Categorias" , action="categorias", url=host + "/categories/?sort_by=title")) - itemlist.append( Item(channel=item.channel, title="Buscar", action="search")) - return itemlist - - -def search(item, texto): - logger.info() - texto = texto.replace(" ", "+") - item.url = host + "/search/?q=%s" % texto - try: - return lista(item) - except: - import sys - for line in sys.exc_info(): - logger.error("%s" % line) - return [] - - -def catalogo(item): - logger.info() - itemlist = [] - data = httptools.downloadpage(item.url).data - data = re.sub(r"\n|\r|\t| |
", "", data) - patron = '.*?' - patron += '