diff --git a/mediaserver/alfa.py b/mediaserver/alfa.py index a7962200..e53fe499 100644 --- a/mediaserver/alfa.py +++ b/mediaserver/alfa.py @@ -18,6 +18,7 @@ import HTTPAndWSServer http_port = config.get_setting("server.port") myip = config.get_local_ip() +version = config.get_addon_version() def thread_name_wrap(func): @@ -41,7 +42,7 @@ if sys.version_info < (2, 7, 11): def show_info(): os.system('cls' if os.name == 'nt' else 'clear') print ("--------------------------------------------------------------------") - print ("Alfa Iniciado") + print ("Alfa %s Iniciado" %version) print ("La URL para acceder es http://%s:%s" % (myip, http_port)) print ("--------------------------------------------------------------------") print ("Runtime Path : " + config.get_runtime_path()) @@ -68,7 +69,7 @@ def start(): # Da por levantado el servicio logger.info("--------------------------------------------------------------------") - logger.info("Alfa Iniciado") + logger.info("Alfa %s Iniciado" %version) logger.info("La URL para acceder es http://%s:%s" % (myip, http_port)) logger.info("--------------------------------------------------------------------") logger.info("Runtime Path : " + config.get_runtime_path()) diff --git a/mediaserver/platformcode/config.py b/mediaserver/platformcode/config.py index a37a0c41..16625238 100644 --- a/mediaserver/platformcode/config.py +++ b/mediaserver/platformcode/config.py @@ -14,6 +14,27 @@ settings_dic = {} adult_setting = {} +def get_addon_version(linea_inicio=0, total_lineas=2): + ''' + Devuelve el número de de versión del addon, obtenido desde el archivo addon.xml + ''' + path = get_runtime_path() + "\\addon.xml" + f = open(path, "rb") + data = [] + for x, line in enumerate(f): + if x < linea_inicio: continue + if len(data) == total_lineas: break + data.append(line) + f.close() + data1 = "".join(data) + # + aux = re.findall(' 0: + version = aux[0] + return version + + def get_platform(full_version=False): # full_version solo es util en xbmc/kodi ret = { diff --git a/mediaserver/platformcode/controllers/html.py b/mediaserver/platformcode/controllers/html.py index bac18322..83a6b8b1 100644 --- a/mediaserver/platformcode/controllers/html.py +++ b/mediaserver/platformcode/controllers/html.py @@ -15,14 +15,9 @@ from platformcode import config from core.item import Item from core.tmdb import Tmdb from platformcode import launcher, logger -from core import filetools -# -data = filetools.read(filetools.join(config.get_runtime_path(), "addon.xml")) -aux = re.findall(' 0: - version = aux[0] +## Obtiene la versión del addon +version = config.get_addon_version() class html(Controller): pattern = re.compile("##") @@ -113,7 +108,7 @@ class platform(Platformtools): thumbnail=channelselector.get_thumb("back.png", "banner_"))) else: itemlist.insert(0, Item(title="Atrás", action="go_back", - thumbnail=channelselector.get_thumb("back.png"))) + thumbnail=channelselector.get_thumb("back.png", "banner_"))) JsonData = {} JsonData["action"] = "EndItems" @@ -127,17 +122,9 @@ class platform(Platformtools): # Recorremos el itemlist for item in itemlist: - if not item.thumbnail and item.action == "search": item.thumbnail = channelselector.get_thumb("search.png") - if not item.thumbnail and item.folder == True: item.thumbnail = channelselector.get_thumb("folder.png", "banner") - if not item.thumbnail and item.folder == False: item.thumbnail = channelselector.get_thumb("nofolder.png") - if "http://media.xxxxx/" in item.thumbnail and not item.thumbnail.startswith( - "http://media.xxxxxxxx/thumb_"): - - if parent_item.viewmode in ["banner", "channel"]: - item.thumbnail = channelselector.get_thumbnail_path("banner") + os.path.basename(item.thumbnail) - else: - item.thumbnail = channelselector.get_thumbnail_path() + os.path.basename(item.thumbnail) - + if not item.thumbnail and item.action == "search": item.thumbnail = channelselector.get_thumb("search.png", "banner_") + #if not item.thumbnail and item.folder == True: item.thumbnail = channelselector.get_thumb("folder.png", "banner_") + if not item.thumbnail and item.folder == False: item.thumbnail = channelselector.get_thumb("nofolder.png", "banner_") # Estas imagenes no estan en banner, asi que si queremos banner, para que no se vean mal las quitamos elif parent_item.viewmode in ["banner", "channel"] and item.thumbnail.startswith( "http://media.xxxxx/thumb_"): diff --git a/plugin.video.alfa/channels/allcalidad.py b/plugin.video.alfa/channels/allcalidad.py index 8c607370..7a84ae36 100755 --- a/plugin.video.alfa/channels/allcalidad.py +++ b/plugin.video.alfa/channels/allcalidad.py @@ -147,10 +147,12 @@ def findvideos(item): match = scrapertools.find_multiple_matches(bloque, '(?is)(?:iframe|script) .*?src="([^"]+)') for url in match: titulo = "Ver en: %s" + text_color = "white" if "goo.gl" in url: url = httptools.downloadpage(url, follow_redirects=False, only_headers=True).headers.get("location", "") if "youtube" in url: - titulo = "[COLOR = yellow]Ver trailer: %s[/COLOR]" + titulo = "Ver trailer: %s" + text_color = "yellow" if "ad.js" in url or "script" in url or "jstags.js" in url: continue elif "vimeo" in url: @@ -158,6 +160,7 @@ def findvideos(item): itemlist.append( item.clone(channel = item.channel, action = "play", + text_color = text_color, title = titulo, url = url )) diff --git a/plugin.video.alfa/channels/animeflv.py b/plugin.video.alfa/channels/animeflv.py index 84b4fd07..14787bcc 100644 --- a/plugin.video.alfa/channels/animeflv.py +++ b/plugin.video.alfa/channels/animeflv.py @@ -1,9 +1,7 @@ # -*- coding: utf-8 -*- import re -import time import urlparse -import urllib from channels import renumbertools from core import httptools @@ -18,13 +16,10 @@ HOST = "https://animeflv.net/" def mainlist(item): logger.info() - itemlist = list() - itemlist.append(Item(channel=item.channel, action="novedades_episodios", title="Últimos episodios", url=HOST)) itemlist.append(Item(channel=item.channel, action="novedades_anime", title="Últimos animes", url=HOST)) itemlist.append(Item(channel=item.channel, action="listado", title="Animes", url=HOST + "browse?order=title")) - itemlist.append(Item(channel=item.channel, title="Buscar por:")) itemlist.append(Item(channel=item.channel, action="search", title=" Título")) itemlist.append(Item(channel=item.channel, action="search_section", title=" Género", url=HOST + "browse", @@ -35,9 +30,7 @@ def mainlist(item): extra="year")) itemlist.append(Item(channel=item.channel, action="search_section", title=" Estado", url=HOST + "browse", extra="status")) - itemlist = renumbertools.show_option(item.channel, itemlist) - return itemlist @@ -48,36 +41,29 @@ def search(item, texto): texto = texto.replace(" ", "+") post = "value=%s" % texto data = httptools.downloadpage(item.url, post=post).data - try: dict_data = jsontools.load(data) - for e in dict_data: if e["id"] != e["last_id"]: _id = e["last_id"] else: _id = e["id"] - url = "%sanime/%s/%s" % (HOST, _id, e["slug"]) title = e["title"] thumbnail = "%suploads/animes/covers/%s.jpg" % (HOST, e["id"]) new_item = item.clone(action="episodios", title=title, url=url, thumbnail=thumbnail) - if e["type"] != "movie": new_item.show = title new_item.context = renumbertools.context(item) else: new_item.contentType = "movie" new_item.contentTitle = title - itemlist.append(new_item) - except: import sys for line in sys.exc_info(): logger.error("%s" % line) return [] - return itemlist @@ -88,39 +74,30 @@ def search_section(item): data = re.sub(r"\n|\r|\t|\s{2}|-\s", "", data) patron = 'id="%s_select"[^>]+>(.*?)' % item.extra data = scrapertools.find_single_match(data, patron) - matches = re.compile('', re.DOTALL).findall(data) - for _id, title in matches: url = "%s?%s=%s&order=title" % (item.url, item.extra, _id) itemlist.append(Item(channel=item.channel, action="listado", title=title, url=url, context=renumbertools.context(item))) - return itemlist def newest(categoria): itemlist = [] - if categoria == 'anime': itemlist = novedades_episodios(Item(url=HOST)) - return itemlist def novedades_episodios(item): logger.info() - data = httptools.downloadpage(item.url).data data = re.sub(r"\n|\r|\t|\s{2}|-\s", "", data) data = scrapertools.find_single_match(data, '

Últimos episodios

.+?
    ]+>.+?(.*?)' '(.*?)', re.DOTALL).findall(data) itemlist = [] - for url, thumbnail, str_episode, show in matches: - try: episode = int(str_episode.replace("Episodio ", "")) except ValueError: @@ -135,28 +112,21 @@ def novedades_episodios(item): new_item = Item(channel=item.channel, action="findvideos", title=title, url=url, show=show, thumbnail=thumbnail, fulltitle=title) - itemlist.append(new_item) - return itemlist def novedades_anime(item): logger.info() - data = httptools.downloadpage(item.url).data data = re.sub(r"\n|\r|\t|\s{2}|-\s", "", data) data = scrapertools.find_single_match(data, '
      (.*?).+?(.*?).+?' '(?:

      (.*?)

      .+?)?', re.DOTALL).findall(data) itemlist = [] - for url, thumbnail, _type, title, plot in matches: - url = urlparse.urljoin(HOST, url) thumbnail = urlparse.urljoin(HOST, thumbnail) - new_item = Item(channel=item.channel, action="episodios", title=title, url=url, thumbnail=thumbnail, fulltitle=title, plot=plot) if _type != "Película": @@ -165,173 +135,75 @@ def novedades_anime(item): else: new_item.contentType = "movie" new_item.contentTitle = title - itemlist.append(new_item) - return itemlist def listado(item): logger.info() - data = httptools.downloadpage(item.url).data data = re.sub(r"\n|\r|\t|\s{2}|-\s", "", data) url_pagination = scrapertools.find_single_match(data, '
    • .*?
    • ') - data = scrapertools.find_multiple_matches(data, '