[Resuelto] - Sistema Biografía de artista

Aquí puedes preguntar o compartir tus dudas y conocimientos acerca del programa
Hey... hola comunidad.
Ok... el caso de hoy es el siguiente:
quiero implementar en mi proyecto el sistema de biografiá del artista (cuando se este reproduciendo X música el usuario tenga acceso a la biografiá del artista dentro del mismo player), esto ya lo he conseguido utilizando para ello las API's de LastFM, el problema viene cuando al mostrar la info obtenida en un Paragraph Object son mostrados algunos enlaces (html code) los cuales distorsionan la info:

Imagen

Alguno de ustedes conoce alguna forma de eliminar o ignorar esos elementos o en su defecto mostrar los enlaces como tales (ocultando las tags html).

He visto en algunos players que utilizan este servicio y muestran la información limpia, no como la imagen de ejemplo.
Puedes filtrar sustituyendo los TAGS con el String.Replace pero eso es muy tedioso y pesado. La opción más práctica es que guardes el texto en un HTML temporal y despues lo abras con el IE Object, aunque puede que tengas que añadirle cabecera y pié HTML, pero eso es mucho más fácil que lo primero.

Pásame una muestra de un texto completo dentro de un
[/ lua] para así poder probarlo y ya te comento como sería.

Saludos!!!

PDTA: Ceone, lo del HTML2Text yo pienso que sería poco automático con ese método...
Daniel_Lechu escribió:Puedes filtrar sustituyendo los TAGS con el String.Replace pero eso es muy tedioso y pesado. La opción más práctica es que guardes el texto en un HTML temporal y despues lo abras con el IE Object, aunque puede que tengas que añadirle cabecera y pié HTML, pero eso es mucho más fácil que lo primero.

Pásame una muestra de un texto completo dentro de un
[/ lua] para así poder probarlo y ya te comento como sería.

Saludos!!!

PDTA: Ceone, lo del HTML2Text yo pienso que sería poco automático con ese método...[/quote]


sobre todo lo que dices opino igual lo primero que he pensado en meterlo en un iexplorer, pero imagino que algo asi de basico ya lo abra pensado, o no? jajajaja...

si buscas un programa asi del palo si tiene posiblidad de comandline es 100% automatico... claro que es mirarlo con la calma.
Gracias por responder... bien, he pensado en varias pero la que más viabilidad parece tener es utilizar el objeto web... Ahora bien mediante el "HTTP.Download" consigo el archivo XML que contiene toda la info del artista (Albunes, imágenes, artistas relacionados, Género musical, biografiá corta o extendida, etc.), en mi caso solo extraigo la biografiá que es la que me interesa por lo que tendría cargar esa parte desde el archivo XML al objeto web que es donde se me complica la cosa(digo que se complica por el asunto del formato)... como pueden apreciar en la imagen anterior puedo cargar la biografiá corta o resumida a un objeto Paragraph pero sin formato.

Les dejo un archivo XML a manera de ejemplo talves ustedes puedan destapar la caja de Pandora:

<?xml version="1.0" encoding="utf-8"?>
<lfm status="ok">
<artist>
<name>Akon</name>
<mbid>1138a764-2212-4d0a-b02d-0dc14df91e08</mbid>
<url>http://www.last.fm/music/Akon</url>
<image size="small">http://userserve-ak.last.fm/serve/34/35 ... png</image>
<image size="medium">http://userserve-ak.last.fm/serve/64/35 ... png</image>
<image size="large">http://userserve-ak.last.fm/serve/126/3 ... png</image>
<image size="extralarge">http://userserve-ak.last.fm/serve/252/3 ... png</image>
<image size="mega">http://userserve-ak.last.fm/serve/_/357 ... png</image>
<streamable>1</streamable>
<stats>
<listeners>1396109</listeners>
<playcount>19817645</playcount>
</stats>

<similar>
<artist>
<name>Flo Rida</name>
<url>http://www.last.fm/music/Flo+Rida</url>
<image size="small">http://userserve-ak.last.fm/serve/34/52 ... png</image>
<image size="medium">http://userserve-ak.last.fm/serve/64/52 ... png</image>
<image size="large">http://userserve-ak.last.fm/serve/126/5 ... png</image>
<image size="extralarge">http://userserve-ak.last.fm/serve/252/5 ... png</image>
<image size="mega">http://userserve-ak.last.fm/serve/500/5 ... png</image>
</artist>
<artist>
<name>Sean Kingston</name>
<url>http://www.last.fm/music/Sean+Kingston</url>
<image size="small">http://userserve-ak.last.fm/serve/34/30 ... png</image>
<image size="medium">http://userserve-ak.last.fm/serve/64/30 ... png</image>
<image size="large">http://userserve-ak.last.fm/serve/126/3 ... png</image>
<image size="extralarge">http://userserve-ak.last.fm/serve/252/3 ... png</image>
<image size="mega">http://userserve-ak.last.fm/serve/500/3 ... png</image>
</artist>
<artist>
<name>T-Pain</name>
<url>http://www.last.fm/music/T-Pain</url>
<image size="small">http://userserve-ak.last.fm/serve/34/42 ... png</image>
<image size="medium">http://userserve-ak.last.fm/serve/64/42 ... png</image>
<image size="large">http://userserve-ak.last.fm/serve/126/4 ... png</image>
<image size="extralarge">http://userserve-ak.last.fm/serve/252/4 ... png</image>
<image size="mega">http://userserve-ak.last.fm/serve/500/4 ... png</image>
</artist>
<artist>
<name>Nelly</name>
<url>http://www.last.fm/music/Nelly</url>
<image size="small">http://userserve-ak.last.fm/serve/34/30 ... jpg</image>
<image size="medium">http://userserve-ak.last.fm/serve/64/30 ... jpg</image>
<image size="large">http://userserve-ak.last.fm/serve/126/3 ... jpg</image>
<image size="extralarge">http://userserve-ak.last.fm/serve/252/3 ... jpg</image>
<image size="mega">http://userserve-ak.last.fm/serve/500/3 ... jpg</image>
</artist>
<artist>
<name>Iyaz</name>
<url>http://www.last.fm/music/Iyaz</url>
<image size="small">http://userserve-ak.last.fm/serve/34/41 ... png</image>
<image size="medium">http://userserve-ak.last.fm/serve/64/41 ... png</image>
<image size="large">http://userserve-ak.last.fm/serve/126/4 ... png</image>
<image size="extralarge">http://userserve-ak.last.fm/serve/252/4 ... png</image>
<image size="mega">http://userserve-ak.last.fm/serve/_/416 ... png</image>
</artist>
</similar>
<tags>
<tag>
<name>hip-hop</name>
<url>http://www.last.fm/tag/hip-hop</url>
</tag>
<tag>
<name>rnb</name>
<url>http://www.last.fm/tag/rnb</url>
</tag>
<tag>
<name>rap</name>
<url>http://www.last.fm/tag/rap</url>
</tag>
<tag>
<name>hip hop</name>
<url>http://www.last.fm/tag/hip%20hop</url>
</tag>
<tag>
<name>pop</name>
<url>http://www.last.fm/tag/pop</url>
</tag>
</tags>
<bio>
<published>Fri, 24 Dec 2010 15:35:44 +0000</published>
<summary><![CDATA[Alioune Badara Akon Thiam, Born April 16, 1977 in Saint Louis, Missouri, United States, known simply as Akon, is a Senegalese-American R&B singer-songwriter, record producer, businessman, and philanthropist. He rose to prominence in 2004 following the release of the singles "<a title="Akon - Locked Up" href="http://www.last.fm/music/Akon/Locked+Up" class="bbcode_album">Locked Up</a>" and "<a title="Akon - Lonely" href="http://www.last.fm/music/Akon/Lonely" class="bbcode_album">Lonely</a>", from his debut album "<a title="Akon - Trouble" href="http://www.last.fm/music/Akon/Trouble" class="bbcode_album">Trouble</a>". His second album, "<a title="Akon - Konvicted" href="http://www.last.fm/music/Akon/Konvicted" class="bbcode_album">Konvicted</a>", earned him a Grammy Award nomination for the single Smack That featuring <a href="http://www.last.fm/music/Eminem" class="bbcode_artist">Eminem</a>. His latest album, "<a title="Akon - Freedom" href="http://www.last.fm/music/Akon/Freedom" class="bbcode_album">Freedom</a>", was released in 2008.]]></summary>
<content><![CDATA[Alioune Badara Akon Thiam, Born April 16, 1977 in Saint Louis, Missouri, United States, known simply as Akon, is a Senegalese-American R&B singer-songwriter, record producer, businessman, and philanthropist.

He rose to prominence in 2004 following the release of the singles <em>"<a title="Akon - Locked Up" href="http://www.last.fm/music/Akon/Locked+Up" class="bbcode_album">Locked Up</a>"</em> and <em>"<a title="Akon - Lonely" href="http://www.last.fm/music/Akon/Lonely" class="bbcode_album">Lonely</a>"</em>, from his debut album <em>"<a title="Akon - Trouble" href="http://www.last.fm/music/Akon/Trouble" class="bbcode_album">Trouble</a>"</em>. His second album, <em>"<a title="Akon - Konvicted" href="http://www.last.fm/music/Akon/Konvicted" class="bbcode_album">Konvicted</a>"</em>, earned him a Grammy Award nomination for the single Smack That featuring <a href="http://www.last.fm/music/Eminem" class="bbcode_artist">Eminem</a>. His latest album, <em>"<a title="Akon - Freedom" href="http://www.last.fm/music/Akon/Freedom" class="bbcode_album">Freedom</a>"</em>, was released in 2008. Akon often sings hooks for other artists and is currently accredited with over 200 guest appearances and 32 Billboard Hot 100 songs.

He is the first solo artist to accomplish the feat of holding both the number one and two spots simultaneously on the Billboard Hot 100 charts twice. He has also founded two record labels, <span title="Unknown label" class="bbcode_unknown">Konvict Muzik</span> and <span title="Unknown label" class="bbcode_unknown">Kon Live Distribution</span> and has a clothing label, Konvict clothing

Akon also recently converted to Islam. He has many charities of his own and is a religious Muslim.

Akon's father is the Senagalese drummer <a href="http://www.last.fm/music/Mor+Thiam" class="bbcode_artist">Mor Thiam</a>.


User-contributed text is available under the Creative Commons By-SA License and may also be available under the GNU FDL.]]></content>
</bio>
</artist></lfm>


Del XML solo cargo al objeto Paragraph ya sea la parte "summary" o "content" que son las que contienen la bio del artista... entonces tendré que agregarle al objeto web el head y body y dentro de este cargar el contenido de las secciones señaladas del XML...

Voy a probar.-

Editando: Listo... ya lo conseguí, antes no me daba el formato en el objeto web porque pasaba el contenido directamente comiendome el head y body... error monumental de mi parte... jejejejeje

Ahora solucionado:

Imagen

y el código:
sText=Label.GetText("Label2");
gInfo=HTTP.Download("http://ws.audioscrobbler.com/2.0/?method=artist.getinfo&artist="..sText.."&api_key=", _TempFolder.."\\info.xml", MODE_BINARY, 20, 80, nil, nil, nil);
if gInfo ~= "" then
XML.Load(_TempFolder.."\\info.xml");
-- Gets the value in lfm.
artist_bio = XML.GetValue("lfm/artist/bio/summary");
-- If a value was returned, display it in a dialog message.
if (artist_bio ~= "") then
--    Paragraph.SetText("Paragraph1",""..artist_bio);
    Web.LoadHTML("Web1", "<html><body><p>"..artist_bio.."</p></body></html>");
    Web.SetVisible("Web1");

else
    Dialog.Message("Error", "The artist biography not exist in database.");
end
end
en la url hay una parte donde se debe colocar el API Key (api_key=),que te suministra LastFm después de registrarte.

Infinitas gracias a ambos.-

Saludos.-
jajajaja me alegro!!
Me alegro de que te haya funcionado compi ;), respecto a lo del Head y el Body, siempre nos pasa lo de que nos olvidemos alguna pijadita jejeje, a mi me pasa con el gestor de prestamos que tengo hecho, me da errores a veces por pijadas tontas, la última fué tal que así:
data = {}
data.numero[Table.Count(data.numero)+1] = 1
data.texto[Table.Count(data.numero)+1] = "ejemplo"
Así a simple vista no me pareció que hubiera error pero al ejecutarlo me decía que el data.texto[1] era nil, y el fallo era tan simple como que en la primera línea data.numero tiene 0 entradas, por lo que al sumarle 1 da 1, en la segunda línea ya existe una entrada en la tabla data.numero, por lo que al sumarle 1 serían 2.

la solución fué fácil, o no le sumas el 1 en la segunda línea o lo cambias por:
data = {}
local total = Table.Count(data.numero)+1
data.numero[total] = 1
data.texto[total]) = "ejemplo"
En fin, que me enrollo más que las persianas xD, nos vemos ;)
Ahora ya lo deje preparado para que funcione en mi proyecto, como mediante el archivo XML puedo conseguir información variada entonces desde el mismo obtengo la imagen del artista (que por cierto viene en cinco tamaños a elegir)... por lo que el asunto queda de la siguiente forma:

Imagen

Con este resultado ya lo puedo adaptar a mi proyecto de audio player dándole un toque mas llamativo y profesional... :yes:
Jeje que guay :)