K3B Playlist Extractor

Publicado por Alexandre C. Leite 15/04/2005

[ Hits: 4.924 ]

Homepage: http://www.flickr.com/acleite

Download k3blist.sh




Script para extrair a lista de músicas de um projeto de áudio do K3B para um arquivo texto.

  



Esconder código-fonte

#!/bin/bash
# Script para extrair uma playlist de um arquivo de um
# projeto de audio do k3b (arquivo.k3b)
# por Alexandre Cerqueira Leite

case "`tty`" in
/dev/tty[1-8])
MODE=text
DIALOG=dialog
;;
/dev/pts/*|/dev/ttyp*)
MODE=x
export XDIALOG_HIGH_DIALOG_COMPAT=1
[ -x /usr/bin/gdialog ] && DIALOG=gdialog
[ -x /usr/bin/Xdialog ] && DIALOG=Xdialog
[ $DIALOG = dialog ] && MODE=text
;;
*)
esac


$DIALOG  --title "Extrair Lista de Músicas de um Arquivo K3B" \
                  --left \
                  --screen-center\
                  --backtitle " K3B Playlist Extractor by Alexandre C. Leite" \
                  --radiolist "O K3B Playlist Extractor foi criado para extrair a lista das músicas e respectivos cantores de arquivos de audio do K3B \n" 15 83 0 \
                "Extrair"   "Clique para escolher o arquivo original K3B" off \
                "Sair"   "Sair sem fazer nada" off 2> /tmp/checklist.tmp.$$
retval=$?

choice=`cat /tmp/checklist.tmp.$$`
rm -f /tmp/checklist.tmp.$$

#------------------------------------

if [ "$choice" = "Extrair" ];
then
$DIALOG --title "Escolher Arquivo" \
--backtitle "Qual o arquivo original ?" \
--ok-label "Continuar" --cancel-label "Sair" \
--fselect "~/*" 28 78 > /dev/null 2> /tmp/arquivo
retval=$?
arquivo=`cat /tmp/arquivo`
  if [ $retval = 1 ] ; then exit 0
  fi
  echo
  echo "Extraindo..."
  nomenew=$arquivo
  unzip -q "$arquivo"

# Extraindo os dados que interessam
cat maindata.xml | grep "<title>" > lista01.txt
sed "s/<title>//g" lista01.txt > lista02.txt
sed "s/<\/title>/ -/g" lista02.txt > lista03.txt

# Limpando arquivos temporários
cp lista03.txt playlist_tmp.txt
rm -f lista0?.txt

# Extraindo mais dados que interessam
cat maindata.xml | grep "<artist>" > lista01.txt
sed "s/<artist>//g" lista01.txt > lista02.txt
sed "s/<\/artist>//g" lista02.txt > lista03.txt

paste -d" " playlist_tmp.txt lista03.txt > playlist01.txt

# Arrumando a acentuação
sed "s/á/á/g" playlist01.txt > playlist02.txt
sed "s/ê/ê/g" playlist02.txt > playlist03.txt
sed "s/é/é/g" playlist03.txt > playlist04.txt
sed "s/ô/ô/g" playlist04.txt > playlist05.txt
sed "s/ç/ç/g" playlist05.txt > playlist06.txt
sed "s/ã/ã/g" playlist06.txt > playlist07.txt
sed "s/\&/\&/g" playlist07.txt > playlist08.txt
sed "s/Ã/í/g" playlist08.txt > playlist.txt

cp playlist.txt "$nomenew.txt"

#removendo arquivos temporários
rm -f lista0?.txt
rm -f playlist*.txt
rm -f mimetype
rm -f maindata.xml
  
  echo
  $DIALOG --title "Pronto!" \
          --msgbox "O novo arquivo se chama $nomenew.txt" 0 0 \
  echo "Pronto! O novo arquivo se chama $nomenew.txt" \
  echo
fi

Scripts recomendados

Listar os usuários do sistema

Kronos - Sincronização de arquivos remotos

Jogar Guitar Hero Online no controle

Pequeno gerador de relatório da rede (CSV)

Backup para fita dat em Dialog


  

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