<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>orvtech: Linux, Android, BASH Scripts, y Fedora &#187; last.fm</title>
	<atom:link href="http://orvtech.com/tag/last-fm/feed/" rel="self" type="application/rss+xml" />
	<link>http://orvtech.com</link>
	<description>Blog de referencia para apasionados del software libre, sistemas embebidos y todo lo que tenga que ver con shell scripting</description>
	<lastBuildDate>Sat, 28 Jan 2012 01:49:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>De last.fm a gNewBook</title>
		<link>http://orvtech.com/howto/de-last-fm-a-gnewbook/</link>
		<comments>http://orvtech.com/howto/de-last-fm-a-gnewbook/#comments</comments>
		<pubDate>Sun, 16 Jan 2011 10:00:38 +0000</pubDate>
		<dc:creator>orvtech</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[BASH]]></category>
		<category><![CDATA[gNewBook]]></category>
		<category><![CDATA[last.fm]]></category>
		<category><![CDATA[Scripts]]></category>

		<guid isPermaLink="false">http://orvtech.com/?p=4040</guid>
		<description><![CDATA[Con un script hecho en BASH podemos actualizar nuestro estado en gNewBook.org con la ultima canción escuchada en nuestro perfil de last.fm. <p><a href="http://orvtech.com/howto/de-last-fm-a-gnewbook/">De last.fm a gNewBook</a> es un articulo de: <a href="http://orvtech.com" rel="friend">orvtech.com</a></p>
]]></description>
			<content:encoded><![CDATA[<p>La red social cien por ciento libre <a href="http://www.gnewbook.org" lat="la red social 100% libre donde los usuarios comparte y se comunican libremente">gNewBook</a> nos permite actualizar nuestro estado en la sección de microblogging via API. El metodo es muy similar al de twitter. En esta ocasión de hecho voy a adaptar y simplificar un script que ya publique anteriormente (<a href="http://orvtech.com/howto/el-nslu2-como-un-puente-de-last-fm-a-twitter/" title="Script para usar el NSLU2 como un puente entre last.fm twitter">El NSLU2 como un puente de last.fm a twitter</a>).</p>
<div id="attachment_4039" class="wp-caption aligncenter" style="width: 606px"><a href="http://orvtech.com/howto/de-last-fm-a-gnewbook/"><img src="http://orvtech.info/2011/01/lastfm2gnewbook.jpg" alt="Synergia entre last.fm y gnewbook.org via orvtech.com" title="lastfm2gnewbook.sh" width="596" height="233" class="size-full wp-image-4039" /></a><p class="wp-caption-text">BASH como puente entre last.fm y gnewbook</p></div>
<p>Para este script nesecitamos una cuenta en gnewbook.org y una en last.fm aqui les dejo last.fm2gnewbook.sh<br />
<code>#!/bin/bash<br />
USUARIO=" "<br />
PASSWORD=" "<br />
FMUSER=" "<br />
URL="http://www.gnewbook.org/api/update.php"<br />
ESTATUS=`curl -s http://www.last.fm/user/$FMUSER/tracks | \<br />
grep "/music/" | \<br />
sed -e :a -e 's/&lt;[^&gt;]*&gt;//g;/&lt;/N;//ba' | \<br />
sed 's/^[ \t]*//' | sed 's/[ \t]*$//' | \<br />
grep -i  [a-z] | \<br />
head -n 1| \<br />
awk '{print "Acabo de escuchar: " $0 ". mientras echaba codigo en #BASH"}'`<br />
curl -u $USER:$PASSWORD -d status="$ESTATUS"  --url $URL &gt;&gt; /dev/null<br />
echo "estatus en gnewbook actualizado con: " $ESTATUS</code></p>
<p>Recuerda asignar los valores de $USUARIO y $PASSWORD con tus datos de gnewbook.org y $FMUSER con tu usuario de last.fm otra cosa que deben de tener en cuenta es que gNewBook aun esta en estado beta y puede que en ocasiones no actualice su estatus (me paso en un par de pruebas). </p>
<div id="crp_related"><br /><h4>Artículos relacionados:</h4><ul><li><a href="http://orvtech.com/howto/el-nslu2-como-un-puente-de-last-fm-a-twitter/" rel="bookmark" class="crp_title">El NSLU2 como un puente de last.fm a twitter.:</a><span class="crp_excerpt"> Este script nació de la necesidad (ocio?) de actualizar mi estado en twitter con la ...</span></li><li><a href="http://orvtech.com/howto/servidor-completo-casero-economico-linux/" rel="bookmark" class="crp_title">Un servidor casero, completo y económico con Linux:</a><span class="crp_excerpt"> Hoy quiero retomar el tema del NSLU2, el tema de un servidor casero, silencioso y ...</span></li><li><a href="http://orvtech.com/howto/cgi-para-obtener-el-bbcode-de-flickr-y-picasaweb-hecha-en-bash/" rel="bookmark" class="crp_title">CGI para obtener el BBCode de Flickr y Picasaweb hecha en BASH.:</a><span class="crp_excerpt"> 

No hace mucho publique dos scripts para obtener el código BBCode a partir de la ...</span></li></ul><br /></div><p><a href="http://orvtech.com/howto/de-last-fm-a-gnewbook/">De last.fm a gNewBook</a> es un articulo de: <a href="http://orvtech.com" rel="friend">orvtech.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://orvtech.com/howto/de-last-fm-a-gnewbook/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>El NSLU2 como un puente de last.fm a twitter.</title>
		<link>http://orvtech.com/howto/el-nslu2-como-un-puente-de-last-fm-a-twitter/</link>
		<comments>http://orvtech.com/howto/el-nslu2-como-un-puente-de-last-fm-a-twitter/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 01:51:16 +0000</pubDate>
		<dc:creator>orvtech</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[NSLU2]]></category>
		<category><![CDATA[last.fm]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Scripts]]></category>

		<guid isPermaLink="false">http://orvtech.com/?p=110</guid>
		<description><![CDATA[Script para usar el NSLU2 como un puente entre last.fm twitter<p><a href="http://orvtech.com/howto/el-nslu2-como-un-puente-de-last-fm-a-twitter/">El NSLU2 como un puente de last.fm a twitter.</a> es un articulo de: <a href="http://orvtech.com" rel="friend">orvtech.com</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Este script nació de la necesidad (ocio?) de actualizar mi estado en <a href="http://twitter.com/m1n1m3">twitter</a> con la canción que estaba escuchando en mi iPhone. El detalle esta en que solo actualizara mi perfil si la canción esta marcada como &#8216;loved&#8217; en last.fm también detecta que día de la semana es y evalúa si es necesario agregar el hash tag <a href="http://twitter.com/#search?q=%23mm"><em>#mm</em></a>.</p>
<p><code><br />
twitter_passwd="your_twitter_password_here"<br />
URL="http://twitter.com/statuses/update.xml"<br />
tags="#lastfm"<br />
lastfm_api="&lt;your_api_from_lastfm_here&gt;"<br />
lastfm_user="&lt;your_lastfm_user_here&gt;"<br />
bit_ly_user="&lt;your_bit.ly_user_here&gt;"<br />
bit_ly_apikey="&lt;your_bit.ly_api_key_here&gt;"<br />
fmtwitted=`cat /tmp/lastfm2twitter.tmp | \<br />
sed -e 's/status=Just played: //g' -e 's/#.*//g' | \<br />
grep '[a-z]'|sed -e 's/\ //g' -e 's/\-/./g'`<br />
fmcurrent=`curl -s "http://ws.audioscrobbler.com/2.0/?method=user.getrecenttracks&amp;limit=1&amp;user=$lastfm_user&amp;api_key=$lastfm_api" | \<br />
grep -E '&lt;name&gt;|&lt;/name&gt;|&lt;artist\ |&lt;/artist&gt;' |\<br />
head -n2| sed -e 's/&lt;[^&gt;]*&gt;//g' | tr '\n' '.' |\<br />
sed -e 's/\ //g' -e 's/.$//g'`<br />
lastfm_song_url=`curl -s "http://ws.audioscrobbler.com/2.0/?method=user.getrecenttracks&amp;limit=1&amp;user=$lastfm_user&amp;api_key=$lastfm_api" |\<br />
grep -E '&lt;url&gt;|&lt;/url&gt;' | sed -e 's/&lt;[^&gt;]*&gt;//g' |\<br />
head -n1| tr '\n' '.' | sed -e 's/\ //g' -e 's/.$//g'`<br />
bit_ly_url=`curl -s "http://api.bit.ly/shorten?version=2.0.1&amp;longUrl=$lastfm_song_url&amp;login=$bit_ly_user&amp;apiKey=$bit_ly_apikey" | \<br />
grep shortUrl | sed -e 's/\"/\ /g' | awk '{print $3}'`<br />
today_mm=`date +%A`<br />
if [[ $today_mm == "Monday"  ]]<br />
then tags="$tags #mm"<br />
fi<br />
if grep $fmcurrent /tmp/lastfm_loved.tmp  &gt; /dev/null<br />
then if [[ "$fmtwitted" == "$fmcurrent" ]]<br />
then exit 0<br />
else curl -s "http://ws.audioscrobbler.com/2.0/?method=user.getrecenttracks&amp;limit=1&amp;user=$lastfm_user&amp;api_key=$lastfm_api" | \<br />
grep -E '&lt;name&gt;|&lt;/name&gt;|&lt;artist\ |&lt;/artist&gt;' | \<br />
head -n2| sed -e 's/&lt;[^&gt;]*&gt;//g' | tr '\n' '-' | \<br />
sed -e 's/^[ \t]*//' -e 's/-/\ -\ /g' -e 's/- $//g' -e 's/\ $//g' | \<br />
awk '{print "status=Just played: "$0}' &gt; /tmp/lastfm2twitter.tmp<br />
lastfm2twitter=`cat /tmp/lastfm2twitter.tmp`<br />
echo $bit_ly_url<br />
echo $tags | tr '\n' ' '`'<br />
echo $lastfm2twitter &gt; /tmp/lastfm2twitter.tmp<br />
curl -s -u $twitter_user:$twitter_passwd -d @/tmp/lastfm2twitter.tmp $URL &gt; /dev/null<br />
fi<br />
else exit 0<br />
fi</code></p>
<p>Como se pueden dar cuenta estoy usando bit.ly para acortar las URLs de last.fm para lo cual tendrán que obtener una API Key. Aun tengo que optimizar el script guardando las peticiones de curl en un archivo y formar algo así como un cache o base de datos local de last.fm a bit.ly.</p>
<p>El script detecta si el mensaje sobrepasa el limite de 140 caracteres permitido por twitter y acorta el mensaje antes de enviarlo.</p>
<div id="crp_related"><br /><h4>Artículos relacionados:</h4><ul><li><a href="http://orvtech.com/howto/de-last-fm-a-gnewbook/" rel="bookmark" class="crp_title">De last.fm a gNewBook:</a><span class="crp_excerpt"> La red social cien por ciento libre gNewBook nos permite actualizar nuestro estado en la ...</span></li><li><a href="http://orvtech.com/howto/cgi-para-obtener-el-bbcode-de-flickr-y-picasaweb-hecha-en-bash/" rel="bookmark" class="crp_title">CGI para obtener el BBCode de Flickr y Picasaweb hecha en BASH.:</a><span class="crp_excerpt"> 

No hace mucho publique dos scripts para obtener el código BBCode a partir de la ...</span></li><li><a href="http://orvtech.com/general/script-de-arranque-para-znc-bouncer/" rel="bookmark" class="crp_title">Script de arranque para ZNC Bouncer.:</a><span class="crp_excerpt"> 
Hace un par de artículos publique como tener el servicio de push desde un canal ...</span></li></ul><br /></div><p><a href="http://orvtech.com/howto/el-nslu2-como-un-puente-de-last-fm-a-twitter/">El NSLU2 como un puente de last.fm a twitter.</a> es un articulo de: <a href="http://orvtech.com" rel="friend">orvtech.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://orvtech.com/howto/el-nslu2-como-un-puente-de-last-fm-a-twitter/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

