Manual para creación de canales

En el equipo Alfa hemos decidido inculcar un poco de cultura a los usuarios y porque no, también a desarrolladores para que puedan aprender a programar o mejorar sus conocimientos, Alfa como siempre lo dijimos no solo pretende entretener, también pretende que los usuarios obtengan cierta independencia y conocimiento suficiente el cual les permita poder crear o reparar sus propios canales, addons y no depender de que alguien haga el trabajo por ellos, esperamos sea de utilidad para muchos!

Como somos un addon que publica su codigo en github y nos gustaria ver nuevos desarrolladores, vamos a aportar nuestro granito de arena.

Las preguntas se hacen en público para que otros puedan aprender.

Equipo Alfa
 

Adjuntos

Hola, la pagina pelisultra ya no existe, prueba poniendo su nueva url.

De lo contrario manda el py y el json para revisarlo.

Saludos.
 
Hola, por favor perdonadme si no me expreso en el lugar o de la forma más adecuada.

Me he leído el PDF porque me gustaría saber hacer un canal basado en el siguiente principio.
Mi intención no es hacer srcappin desde una URL sino desde una dirección local.
El objetivo es poder usar la nube de Telegram y además conseguir salvar el límite de tamaño máximo de la misma:

1. He troceado un vídeo y lo he subido a un canal de Telegram
2. Quiero decirle a Kodi que mire en una dirección local, que será la ruta definida para las descargas del Fork de Telegram, para buscar archivos de Lista de Reproducción de Vídeos, en la cual estará definido el orden de los archivos que componen el vídeo en total.
3. Al reconocer la lista de reproducción Descargada, quiero que Kodi lo muestre como si fuese una película, haciendo el scrapping habitual de portada, sinopsis, etc...
4. Al darle a reproducir, la idea es que vaya cargando en orden los distintos trozos que componen el vídeo completo, siendo el primero de al menos 400MB para que no tarde demasiado el comienzo y los demás trozos tengan tiempo de descargarse en segundo plano antes de ser reproducidos.

No se cómo abordarlo, tampoco se programar pero me atrevo a intentarlo
 
Hola, por ahora y por mi parte hay varias cosas que no entiendo. Para que troceas el video y lo subes a Telegram. para luego bajarlo e intentar reproducirlo.
Tienes el canal community para asuntos como este, puedes subir tus videos a gvideo, mega, y otros servers gratuitos. En ellos no te haría falta trocear nada.
https://alfa-addon.com/threads/como-crear-tu-canal-para-la-comunidad.2284/
Para usar la nube de telegram y para evitar el límite de tamaño máximo por archivo a la par de poder ver una película de 20GB, con calidad buena 3D o 4K... Como puedes leer en la explicación de mi texto al que te refieres
 
Realmente no se comprende lo que quieres hacer, trocear para descargar a local y luego reproducir partes como una lista de reproduccion?, y ademas quieres poder verlo durante la descarga de esas partes... creo que te complicas demasiado, lamento ser tan directo pero creo que no es una buena idea.
Por otro lado lo que te comenta @shlibidon es crear tu canal local utilizando la herramienta community, pero tampoco parece que sirva para lo que quieres.
 
BUenas noches, Hoy me he puesto con esto para intentar crear un canal de mi blog.
Despues de pelearme con el Regex ( hoy lo he usado por primera vez en mi vida ), pude sacar las expresiones y luego desde el Notepad lo he puesto tal y como os pongo en la captura
Una vez terminado lo comprimo en zip, lo subo como archivo y no logro cargar el canal.
No tengo ni idea de donde puede estar el fallo, a ver si me podeis orientar un poco y asi tener un canal para la comunidad.
Saludos !!!
 

Adjuntos

  • notepad.png
    notepad.png
    59,8 KB · Visitas: 18
Hola martinbm76, no entiendo lo de comprimirlo y subirlo, segun la imagen debería funcionar a lo sumo si te diera algun error lo verías reflejado en log de Kodi.
digamos que ese archivo tuyo se llama eha.py tienes que crearle un archivo json y poner ambos (con el mismo nombre) en la carpeta channels.

Por ejemplo:
1572508118194.png

id : sería el nombre del archivo ".py", si el tuyo lo nombraste como elhogar.py, la id seria "elhogar"
name, el nombre como se mostraría en Alfa
active: si esta en false no se muestra en la lista
adult: en true si es un canal de contenido adulto
etc...

Te adjunto el json del ejemplo.
 

Adjuntos

Gracias por la aclaración, ahora mismo no estoy en casa para comprobarlo, pero luego lo miro y te comento. Gracias por responder.
Saudos.
 
He cambiado el codigo y ya me funciona. Aunque tengo algunas lagunas por total desconocimiento :)
Cual seria el paso para que se agregará a la lista de canales para que todos lo usaran?

Saludos y muchas gracias
 
He cambiado el codigo y ya me funciona. Aunque tengo algunas lagunas por total desconocimiento :)
Cual seria el paso para que se agregará a la lista de canales para que todos lo usaran?

Saludos y muchas gracias

Hola, en primer lugar felicitaciones por terminar el canal y gracias por la intención de colaborar.
Para agregar el canal a alfa debes hacer un PR, pull request desde github, te dejo el link del tutorial de github para que lo leas, si tienes dudas puedes consultarnos.

Tutorial Sencillo de GitHub
 
Pues creo que lo he hecho, trabajo desde IOS y algunas opciones no son como las del manual, asi que si en algo he fallado me lo decis por favor.
Me he hecho un pequeño lio porque hay cosas que no entiendo bien. Primero voy a esperar a que me digais cuando podais si esta bien y luego ya os hago las preguntas.
 
Buenos dias. Despues de un tiempo sin intentar hacer el codigo por causas mayores, he vuelto un poco a ver si lo saco.
Para variar tengo un par de problemas a ver si me podeis ayudar.
La paginacion no se muestra en el listado de peliculas, este es el codigo que he puesto en el archivo py:

Código:
url_next_page = scrapertools.find_single_match(data, 'rel="next" href="([^"]+)"')
    if len(itemlist)>0 and url_next_page:
        itemlist.append(item.clone(title="Siguiente >>", url=url_next_page, action='lista'))
    return itemlist

Pero no se me muestra. El codigo de la web que hace referencia a la paginacion este:

Código:
<div class="wp-pagenavi"><span aria-current="page" class="page-numbers current">1</span> <a class="page-numbers" href="https://elhogardelaprendiz.es/peliculas/page/2/">2</a> <a class="page-numbers" href="https://elhogardelaprendiz.es/peliculas/page/3/">3</a> <a class="page-numbers" href="https://elhogardelaprendiz.es/peliculas/page/4/">4</a> <a class="page-numbers" href="https://elhogardelaprendiz.es/peliculas/page/5/">5</a> <a class="next page-numbers" href="https://elhogardelaprendiz.es/peliculas/page/2/">Siguiente &raquo;</a></div> </main>

Alguien me puede decir donde esta el error? Le estaria muy agradecido :)
SAludos !!!
 
Buenos dias. Despues de un tiempo sin intentar hacer el codigo por causas mayores, he vuelto un poco a ver si lo saco.
Para variar tengo un par de problemas a ver si me podeis ayudar.
La paginacion no se muestra en el listado de peliculas, este es el codigo que he puesto en el archivo py:

Código:
url_next_page = scrapertools.find_single_match(data, 'rel="next" href="([^"]+)"')
    if len(itemlist)>0 and url_next_page:
        itemlist.append(item.clone(title="Siguiente >>", url=url_next_page, action='lista'))
    return itemlist

Pero no se me muestra. El codigo de la web que hace referencia a la paginacion este:

Código:
<div class="wp-pagenavi"><span aria-current="page" class="page-numbers current">1</span> <a class="page-numbers" href="https://elhogardelaprendiz.es/peliculas/page/2/">2</a> <a class="page-numbers" href="https://elhogardelaprendiz.es/peliculas/page/3/">3</a> <a class="page-numbers" href="https://elhogardelaprendiz.es/peliculas/page/4/">4</a> <a class="page-numbers" href="https://elhogardelaprendiz.es/peliculas/page/5/">5</a> <a class="next page-numbers" href="https://elhogardelaprendiz.es/peliculas/page/2/">Siguiente &raquo;</a></div> </main>

Alguien me puede decir donde esta el error? Le estaria muy agradecido :)
SAludos !!!


url_next_page = scrapertools.find_single_match(data,'rel="next" href="([^"]+)"')

<aclass="next page-numbers" href="https://elhogardelaprendiz.es/peliculas/page/2/">

url_next_page = scrapertools.find_single_match(data'class="next page-numbers" href="([^"]+)"')
 
Otro problema que me encuentro es a la hora de listar las series, he conseguido que se muestren las series, pero al pinchar en el titulo no se me muestra nada, ni temporadas ni episodio. Este es el codigo que tengo:

Código:
def episodios(item):
    logger.info()
    itemlist = list()
    data = httptools.downloadpage(item.url).data
    data = data.replace('"ep0','"epp"')
    patron  = '(?is)MvTbImg B.*?href=. .*?'
    patron += 'src="([^"]+)".*?'
    patron += 'span>Episodio ([^<]+)'
    matches = scrapertools.find_multiple_matches(data, patron)
    for scrapedurl, scrapedthumbnail, scrapedepi in matches:
        title="1x%s - %s" % (scrapedepi, item.contentSerieName)
        #urls = scrapertools.find_multiple_matches(scrapedurls, 'href="([^"]+)')
        itemlist.append(item.clone(action='findvideos', title=title, url=scrapedurl, thumbnail=scrapedthumbnail, type=item.type,
                                   infoLabels=item.infoLabels))
    if config.get_videolibrary_support() and len(itemlist) > 0:
        itemlist.append(Item(channel=item.channel, title="[COLOR yellow]Añadir esta serie a la videoteca[/COLOR]",
                             url=item.url, action="add_serie_to_library", extra="episodios",
                             contentSerieName=item.contentSerieName))
    return itemlist

Alguien me puede decir que es lo que se me escapa para poder tenerlo bien??

Saludos.
 
Otro problema que me encuentro es a la hora de listar las series, he conseguido que se muestren las series, pero al pinchar en el titulo no se me muestra nada, ni temporadas ni episodio. Este es el codigo que tengo:

Código:
def episodios(item):
    logger.info()
    itemlist = list()
    data = httptools.downloadpage(item.url).data
    data = data.replace('"ep0','"epp"')
    patron  = '(?is)MvTbImg B.*?href=. .*?'
    patron += 'src="([^"]+)".*?'
    patron += 'span>Episodio ([^<]+)'
    matches = scrapertools.find_multiple_matches(data, patron)
    for scrapedurl, scrapedthumbnail, scrapedepi in matches:
        title="1x%s - %s" % (scrapedepi, item.contentSerieName)
        #urls = scrapertools.find_multiple_matches(scrapedurls, 'href="([^"]+)')
        itemlist.append(item.clone(action='findvideos', title=title, url=scrapedurl, thumbnail=scrapedthumbnail, type=item.type,
                                   infoLabels=item.infoLabels))
    if config.get_videolibrary_support() and len(itemlist) > 0:
        itemlist.append(Item(channel=item.channel, title="[COLOR yellow]Añadir esta serie a la videoteca[/COLOR]",
                             url=item.url, action="add_serie_to_library", extra="episodios",
                             contentSerieName=item.contentSerieName))
    return itemlist

Alguien me puede decir que es lo que se me escapa para poder tenerlo bien??

Saludos.

los regex que tienes no son correctos, creo que deberias revisarlos. En tu web veo esto por ejemplo:

HTML:
<td><span class="Num">21</span></td><td class="MvTbImg B"><a href="https://elhogardelaprendiz.es/episode/don-gato-y-su-pandilla-1x21/" class="MvTbImg"><img src="https://elhogardelaprendiz.es/wp-content/uploads/2019/11/don-gato-y-su-pandilla-7924-episode-21-season-1.jpg" alt="Imagen "></a></td><td class="MvTbTtl"><a href="https://elhogardelaprendiz.es/episode/don-gato-y-su-pandilla-1x21/">Mono espacial</a><span>1962</span></td><td class="MvTbPly"><a href="https://elhogardelaprendiz.es/episode/don-gato-y-su-pandilla-1x21/" class="AAIco-play_circle_outline ClA"></a></td>

alli tienes la url y el titulo en MvTbTtl, el thumbnail en MvTbImg y el episodio en num. deberias ajustar tu regex para tomar esos valores.

Saludos
 
Buenas tardes. Estoy peleandome con el codigo un poco ( soy un novato a mas no poder... os pido paciencia please )
Voy poco a poco porque no quiero abarcar mas de lo que no tengo ni idea...
Estoy con la primera linea del codigo que ha puesto @Delta

Código:
<td><span class="Num">1</span></td>

El regex, despues de probarlo me da esta expresion:

Código:
<td><span class="Num">([^"])<\/span><\/td>

Esto seria el primer paso o ya la he cagado y he empezado la casa por el tejado :confused:
 
En la segunda linea del codigo es esta:

Código:
<td class="MvTbImg B"><a href="https://elhogardelaprendiz.es/episode/don-gato-y-su-pandilla-1x1/" class="MvTbImg">

Y el regex me da este valor:

Código:
<td class="MvTbImg B"><a href=(.+?)>

Voy por el buen camino??
Saludos !!!
 
En la segunda linea del codigo es esta:

Código:
<td class="MvTbImg B"><a href="https://elhogardelaprendiz.es/episode/don-gato-y-su-pandilla-1x1/" class="MvTbImg">

Y el regex me da este valor:

Código:
<td class="MvTbImg B"><a href=(.+?)>

Voy por el buen camino??
Saludos !!!


Te recomiendo utilices RegExr: Learn, Build, & Test RegEx o Regex101 - online regex editor and debugger para verificar tus expresiones regulares

mira por ejemplo utilizando lo que te puse en el mensaje anterior, comprobando el regex para el numero de episodio en regexr


1574708683077.png
 
He mirado la web primera que me has puesto y he podido sacar estos dos codigos:

Código:
patron  = '(?is)MvTbImg B.*?href="([^"]+)".*?'
patron += 'src="([^"]+)".*?'

Donde estoy teniendo mas problemas es en el apartado que tu me comentas, donde aparece Num...
Esos dos patrones que te he puesto anteriormente van bien encaminados? Mirando creo que vinculan a donde deberian, pero en donde marcaria el numero del episodio no doy con la tecla, he probado varias formas en local y no logro dar con la tecla.

o_O
 
Atrás
Arriba