Sugerindo artistas do Jamendo no Twitter

Publicado por Elder Marco (última atualização em 15/12/2009)

[ Hits: 4.659 ]

Homepage: http://www.eldermarco.com

Download jamtwitter




Que tal sugerir os vários artistas independentes do Jamendo no Twitter? Um script simples que posta um link de uma música do Jamendo no Twitter para você possa compartilhar com seus seguidores. Assim, é possível a esses fazerem download, ouvir pelo navegador mesmo, o que quiserem! Além de divulgar os artistas e o próprio Jamendo.

Aliás, você conhece o Jamendo? http://www.jamendo.com :-)

Não esqueça de colocar o username do Twitter no script depois que baixar.

  



Esconder código-fonte

#!/bin/bash
#
#   Um script para postar links de músicas do Jamendo que você esteja
#   ouvindo no Twitter. Interessante para pessoas conhecerem e divul-
#   garem os excelentes artistas por lá. E o melhor: pode-se fazer o
#   download de graça. :-)
#   Funciona no Amarok 2, mas sinta-se livre para adaptar esse script
#   para o seu player.
#
#   Elder Marco / http://www.idiossincrasias.com
#      http://twitter.com/ElderMarco
#   Data: 12/12/2009
#----------------------------------------------------------------------------

# Insira seu username do Twitter. Você será perguntado pela senha toda
# vez que executar esse script. 
username="SeuUsername"

# É necessário o comando id3info para obter metadados de músicas.
type id3info 1>/dev/null 2>&1
if [ $? != 0 ]; then
   echo "$0: É necessário o comando id3info."
   exit 1
fi

# Amarok 2 rodando?
AmarokRodando=`ps -e | grep 'amarok$'`
if [ -z "$AmarokRodando" ]; then
   echo "$0: O Amarok não está em execução. Saindo..."
   exit 1
fi

# Para obter informações de metadados do Amarok
InfAmarok="org.kde.amarok /Player GetMetadata"

LocalMusica=`qdbus $InfAmarok | grep ^location | cut -d '/' -f3- | sed 's/%20/\ /g'`

# Música sendo tocada está disponível no Jamendo?
MusicaNoJamendo=`id3info "$LocalMusica" | fgrep WORS | fgrep jamendo`
if [ -z "$MusicaNoJamendo" ]; then
   echo "$0: Esta música não está disponível no Jamendo. Saindo..."
   exit 1
fi

# Ok, vamos obter informações. Por padrão ele usa o link de download para a 
# faixa tocada. Mas você pode mudar isso. Descomente o URL que você quer abaixo
# e mude o conteúdo da variável 'url' (abaixo)
FaixaURL=`id3info "$LocalMusica" | fgrep WOAF | rev | cut -d ' ' -f1 | rev`
#AlbumURL=`id3info "$LocalMusica" | fgrep WOAS | rev | cut -d ' ' -f1 | rev`
#ArtistaURL=`id3info "$LocalMusica" | fgrep WOAR | rev | cut -d ' ' -f1 | rev`

url="$FaixaURL"

# Mais informações, dessa vez pode ser do Amarok mesmo.
Artista=`qdbus $InfAmarok | fgrep artist | sed 's/^artist:\ //g'`
Musica=`qdbus $InfAmarok | fgrep title | sed 's/^title:\ //g'`
Album=`qdbus $InfAmarok | fgrep album | sed 's/^album:\ //g'`

read -sp "Senha do Twitter para $username: " senha
echo 
# Obtém uma URL curta para ser postado no Twitter. Esse trecho para obter
# a URL foi aproveitado de um script postado pelo Fábio, no VOL:
# http://tinyurl.com/yjaqcfy
echo -n "Obtendo uma URL curta para \"$Musica\"... "
TinyURLForm="http://tinyurl.com/create.php"
TinyURL=`curl -d url=$url $TinyURLForm 2>/dev/null | grep 'Open in new window' | head -n 1 | sed 's/^.*http/http/' | sed 's/".*$//'`
echo "pronto."

# Você pode escolher algumas dessas mensagens ou criar a sua. Descomente a linha
# e comente as outras, caso queira. Cuidado com o limite de 140 caracteres...
Msg="♫ Ouvindo \"$Musica\" por \"$Artista\". Download: $TinyURL"
#Msg="♫ Ouvindo \"$Musica\" por \"$Artista\" do álbum \"$Album\". Download: $TinyURL"
#Msg="♫ $Musica -- $Artista ($Album). Download: $TinyURL"

if [ ${#Msg} -ge 140 ]; then
   echo "Infelizmente o tweet não poderá ser enviado."
   echo "A mensagem contém mais de 140 caracteres e poderia"
   echo "truncar o URL para o download. Por favor, escolha uma mensagem"
   echo "menor no script."
   exit 1
fi
 
echo "URL do arquivo no Jamendo: $FaixaURL"
echo "URL curta: $TinyURL"
echo -n "Enviando..."


curl --basic --user $username:$senha \
     --data status="$Msg" http://twitter.com/statuses/update.xml \
     1>/tmp/$$-jamtwitter 2>&1

#Autenticou e publicou o Tweet?
Falhou=`fgrep "Could not authenticate you." /tmp/$$-jamtwitter`
if [ -z "$Falhou" -o $? -eq 0 ]; then
        echo "pronto."
else
        echo "falhou. :("
fi

rm  /tmp/$$-jamtwitter

Scripts recomendados

Criador de pacotes para o Slackware

Convertendo man pages em PDFs (Versão CShell)

ativar-som

Compactando / descompactando arquivos simultaneamente [Melhorado]

Testa Arquivos


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts