Получение текстов песен в MOC: различия между версиями
Материал из Linux Wiki
Перейти к навигацииПерейти к поиску
Rain (обсуждение | вклад) м |
Rain (обсуждение | вклад) |
||
(не показаны 2 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
Скрипт работает с http://lyricwiki.org и по нажатию F3 показывает текст проигрывающейся песни. Допущение: первые буквы каждого слова в имени артиста / названии песни преобразуются в верхний регистр. | Скрипт работает с http://lyricwiki.org и по нажатию F3 показывает текст проигрывающейся песни. | ||
Допущение: первые буквы каждого слова в имени артиста / названии песни преобразуются в верхний регистр - похоже, такое именование принято на вики. | |||
Строка в конфиг-файле (путь к скрипту указать свой): | Строка в конфиг-файле (путь к скрипту указать свой): | ||
Строка 11: | Строка 13: | ||
clear | clear | ||
echo "Fetching lyrics..." | echo "Fetching lyrics..." | ||
wget -q "http://lyricwiki.org/$(mocp -i | awk -F': ' '/Artist/||/SongTitle/{print $2}' | sed -e 'N; s/\n/:/g' | sed -r -e 's/\b(.)/\U\ | wget -q "http://lyricwiki.org/$(mocp -i | awk -F': ' '/Artist/||/SongTitle/{print $2}' | sed -e 'N; s/\n/:/g' | sed -r -e 's/(\s|^)\b(.)/\1\U\2/g')" -O - | | ||
sed -n -e '/<div class='\''lyricbox'\'' >/s/.*<div class='\''lyricbox'\'' >//gp' | | sed -n -e '/<div class='\''lyricbox'\'' >/s/.*<div class='\''lyricbox'\'' >//gp' | | ||
sed -e "s@<br />@\n@g" -e 's/\&\;/\&/g'| less | sed -e "s@<br />@\n@g" -e 's/\&\;/\&/g'| less |
Текущая версия на 22:31, 27 апреля 2009
Скрипт работает с http://lyricwiki.org и по нажатию F3 показывает текст проигрывающейся песни.
Допущение: первые буквы каждого слова в имени артиста / названии песни преобразуются в верхний регистр - похоже, такое именование принято на вики.
Строка в конфиг-файле (путь к скрипту указать свой):
ExecCommand3 = "/home/rain/.moc/scripts/lyrc.sh "%r" "%t""
#!/bin/bash
clear
echo "Fetching lyrics..."
wget -q "http://lyricwiki.org/$(mocp -i | awk -F': ' '/Artist/||/SongTitle/{print $2}' | sed -e 'N; s/\n/:/g' | sed -r -e 's/(\s|^)\b(.)/\1\U\2/g')" -O - |
sed -n -e '/<div class='\''lyricbox'\'' >/s/.*<div class='\''lyricbox'\'' >//gp' |
sed -e "s@<br />@\n@g" -e 's/\&\;/\&/g'| less