# -*- coding: utf-8 -*- import os import re from core import scrapertools from core.item import Item from platformcode import config, logger def strip_tags(value): return re.sub(r'<[^>]*?>', '', value) def mainlist(item): logger.info() user = config.get_setting("filesmonsteruser") itemlist = [] itemlist.append(Item(channel=item.channel, action="unusualporn", title="Canal unusualporn.net", thumbnail="http://filesmonster.biz/img/logo.png")) itemlist.append(Item(channel=item.channel, action="files_monster", title="Canal files-monster.org", thumbnail="http://files-monster.org/template/static/images/logo.jpg")) itemlist.append(Item(channel=item.channel, action="filesmonster", title="Canal filesmonster.filesdl.net", thumbnail="http://filesmonster.biz/img/logo.png")) if user != '': itemlist.append( Item(channel=item.channel, action="favoritos", title="Favoritos en filesmonster.com del usuario " + user, folder=True)) return itemlist def filesmonster(item): logger.info() itemlist = [] itemlist.append(Item(channel=item.channel, action="videos", title="Ultimos vídeos", thumbnail="http://photosex.biz/imager/w_400/h_400/9f869c6cb63e12f61b58ffac2da822c9.jpg", url="http://filesmonster.filesdl.net")) itemlist.append(Item(channel=item.channel, action="categorias", title="Categorias", thumbnail="http://photosex.biz/imager/w_400/h_500/e48337cd95bbb6c2c372ffa6e71441ac.jpg", url="http://filesmonster.filesdl.net")) itemlist.append(Item(channel=item.channel, action="search", title="Buscar en filesmonster.fliesdl.net", url="http://filesmonster.filesdl.net/posts/search?q=%s")) return itemlist def unusualporn(item): logger.info() itemlist = [] itemlist.append(Item(channel=item.channel, action="videos_2", title="Últimos vídeos", url="http://unusualporn.net/", thumbnail="http://photosex.biz/imager/w_400/h_500/e48337cd95bbb6c2c372ffa6e71441ac.jpg")) itemlist.append(Item(channel=item.channel, action="categorias_2", title="Categorías", url="http://unusualporn.net/", thumbnail="http://photosex.biz/imager/w_400/h_500/e48337cd95bbb6c2c372ffa6e71441ac.jpg")) itemlist.append(Item(channel=item.channel, action="search", title="Buscar en unusualporn", url="http://unusualporn.net/search/%s")) return itemlist def files_monster(item): logger.info() itemlist = [] itemlist.append( Item(channel=item.channel, action="videos_3", title="Últimos vídeos", url="http://www.files-monster.org/", thumbnail="http://photosex.biz/imager/w_400/h_500/e48337cd95bbb6c2c372ffa6e71441ac.jpg")) itemlist.append( Item(channel=item.channel, action="categorias_3", title="Categorías", url="http://www.files-monster.org/", thumbnail="http://photosex.biz/imager/w_400/h_500/e48337cd95bbb6c2c372ffa6e71441ac.jpg")) itemlist.append(Item(channel=item.channel, action="search", title="Buscar en files-monster.org", url="http://files-monster.org/search?search=%s")) return itemlist def favoritos(item): user = config.get_setting("filesmonsteruser") password = config.get_setting("filesmonsterpassword") logger.info() name_file = os.path.splitext(os.path.basename(__file__))[0] fname = os.path.join(config.get_data_path(), "settings_channels", name_file + "_favoritos.txt") fa = open(fname, 'a+') fa.close() f = open(fname, 'r') lines = f.readlines() f.close() itemlist = [] post2 = "username=" + user + "&password=" + password login_url = "http://filesmonster.com/api/public/login" data1 = scrapertools.cache_page(login_url, post=post2) partes1 = data1.split('"') estado = partes1[3] if estado != 'success': itemlist.append(Item(channel=item.channel, title="No pudo accederse con tus datos de acceso de Filesmonster.com, introdúcelos en con el apartado figuración. Error: " + estado + data1)) url_favoritos = "http://filesmonster.com/?favorites=1" data2 = scrapertools.cache_page(url_favoritos, post=post2) data2 = scrapertools.find_single_match(data2, 'favorites-table(.*?)pager') patronvideos = '([^<]+).*?del=([^"]+)"' matches = re.compile(patronvideos, re.DOTALL).findall(data2) contador = 0 for url, title, borrar in matches: contador = contador + 1 imagen = '' for linea in lines: partes2 = linea.split("@") parte_url = partes2[0] parte_imagen = partes2[1] if (parte_url == url): imagen = parte_imagen.rstrip('\n').rstrip('\r') if url.find("?fid=") == -1: itemlist.append( Item(channel=item.channel, action="play", server="filesmonster", title=title, fulltitle=item.title, url=url, thumbnail=imagen, folder=False)) else: itemlist.append( Item(channel=item.channel, action="detail", server="filesmonster", title=title, fulltitle=title, thumbnail=imagen, url=url, folder=True)) itemlist.append(Item(channel=item.channel, action="quitar_favorito", title="(-) quitar de mis favoritos en filesmonster.com", thumbnail=imagen, url="http://filesmonster.com/?favorites=1&del=" + borrar, plot=borrar)) itemlist.append(Item(channel=item.channel, title="", folder=True)) if contador == 0 and estado == 'success': itemlist.append( Item(channel=item.channel, title="No tienes ningún favorito, navega por las diferentes fuentes y añádelos")) return itemlist def quitar_favorito(item): logger.info() itemlist = [] data = scrapertools.downloadpage(item.url) itemlist.append(Item(channel=item.channel, action="favoritos", title="El vídeo ha sido eliminado de tus favoritos, pulsa para volver a tu lista de favoritos")) return itemlist def anadir_favorito(item): logger.info() name_file = os.path.splitext(os.path.basename(__file__))[0] fname = os.path.join(config.get_data_path(), "settings_channels", name_file + "_favoritos.txt") user = config.get_setting("filesmonsteruser") password = config.get_setting("filesmonsterpassword") itemlist = [] post2 = "username=" + user + "&password=" + password login_url = "http://filesmonster.com/api/public/login" data1 = scrapertools.cache_page(login_url, post=post2) if item.plot == 'el archivo': id1 = item.url.split('?id=') id = id1[1] que = "file" if item.plot == 'la carpeta': id1 = item.url.split('?fid=') id = id1[1] que = "folder" url = "http://filesmonster.com/ajax/add_to_favorites" post3 = "username=" + user + "&password=" + password + "&id=" + id + "&obj_type=" + que data2 = scrapertools.cache_page(url, post=post3) if data2 == 'Already in Your favorites': itemlist.append(Item(channel=item.channel, action="favoritos", title="" + item.plot + " ya estaba en tu lista de favoritos (" + user + ") en Filesmonster")) if data2 != 'You are not logged in' and data2 != 'Already in Your favorites': itemlist.append(Item(channel=item.channel, action="favoritos", title="Se ha añadido correctamente " + item.plot + " a tu lista de favoritos (" + user + ") en Filesmonster", plot=data1 + data2)) f = open(fname, "a+") if (item.plot == 'la carpeta'): ruta = "http://filesmonster.com/folders.php?" if (item.plot == 'el archivo'): ruta = "http://filesmonster.com/download.php" laruta = ruta + item.url laruta = laruta.replace("http://filesmonster.com/folders.php?http://filesmonster.com/folders.php?", "http://filesmonster.com/folders.php?") laruta = laruta.replace("http://filesmonster.com/download.php?http://filesmonster.com/download.php?", "http://filesmonster.com/download.php?") f.write(laruta + '@' + item.thumbnail + '\n') f.close() if data2 == 'You are not logged in': itemlist.append(Item(channel=item.channel, action="favoritos", title="No ha sido posible añadir " + item.plot + " a tu lista de favoritos (" + user + " no logueado en Filesmonster)", )) return itemlist def categorias(item): logger.info() itemlist = [] data = scrapertools.downloadpage(item.url) data = scrapertools.find_single_match(data, 'Categories (.*?)RSS ') patronvideos = '([^<]+)' matches = re.compile(patronvideos, re.DOTALL).findall(data) for url, title in matches: itemlist.append(Item(channel=item.channel, action="videos", title=title, url=url)) return itemlist def categorias_2(item): logger.info() itemlist = [] data = scrapertools.downloadpage(item.url) patronvideos = '