K3B Playlist Extractor

Publicado por Alexandre C. Leite 15/04/2005

[ Hits: 4.904 ]

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

Renomear Volume Group

Configuração da placa Pixel View Hybrid semi-automatizada

informativo

Get Tool

textModeMusicPlayer


  

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