Advertisement
Zorge_R

podcast.grabber.2.0

May 27th, 2011
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 4.92 KB | None | 0 0
  1. #!/bin/sh
  2.  
  3. # prod.ru podcast grabber.
  4. # Zorge.R - 2010
  5.  
  6.  (
  7.         echo "5"
  8.         echo "# Задаем переменные"
  9.  
  10. grpath=${0%/*}
  11.  
  12.  
  13. #podcastname="nauka2-0"
  14.  
  15. podcastname=`zenity --entry \
  16.         --title="Выбор подкаста" \
  17.         --text="Введите название подкаста:" \
  18.         --entry-text "nauka2-0" \
  19. `
  20.  
  21. podcastid="0"
  22. trackid="0"
  23.  
  24. mkdir $grpath/tmp
  25.  
  26.         echo "10"
  27.         echo "# Загрузка страницы подкаста"
  28.  
  29. # качаем главную страницу подкаста
  30. wget -O $grpath/tmp/main.page http://$podcastname.rpod.ru/
  31.  
  32.         echo "30"
  33.         echo "# Получение списка публикаций"
  34.  
  35. # вытаскиваем из нее список публикаций
  36. grep '^    <a class="rpad" amber="post:' "$grpath/tmp/main.page" | sed 's/<a class\=\"rpad\" amber\=\"post\://' | sed 's/^[ \t]*//' | awk -F\" '{print $1}' > $grpath/tmp/podcast.list
  37.  
  38. # выбор публикации. 1 - последняя, 2 - предпоследняя, и т.д.
  39.  
  40. podcastid1=`sed -n "1p" $grpath/tmp/podcast.list`
  41. podcastid2=`sed -n "2p" $grpath/tmp/podcast.list`
  42. podcastid3=`sed -n "3p" $grpath/tmp/podcast.list`
  43.  
  44. podcastid=`zenity --list \
  45.           --title="Публикации подкаста $podcastname" \
  46.       --text="Выберите публикаци:" \
  47.           --column="ID публикации:" --column="Название" \
  48.             $podcastid1 "в разработке $podcastname1" \
  49.             $podcastid2 "в разработке $podcastname2" \
  50.             $podcastid3 "в разработке $podcastname3" \
  51. `
  52.  
  53. #pubnum="1p"
  54. #podcastid=`sed -n "$pubnum" $grpath/tmp/podcast.list`
  55.  
  56. # качаем страницу публикации
  57. wget -O $grpath/tmp/podcast.page http://rpod.ru/$podcastid/
  58.  
  59.         echo "40"
  60.         echo "# Получение списка записей"
  61.  
  62. # вытаскиваем из нее список записей
  63. grep '^         <a title="Скачать" href="' "$grpath/tmp/podcast.page" | sed 's/<a title\=\"Скачать\" href\=\"//' | sed 's/^[ \t]*//' | sed "s/http:\/\/rpod.ru\/get\/$podcastid\///" | awk -F\\/download\/ '{print $1}' > $grpath/tmp/track.list
  64.  
  65.         echo "50"
  66.         echo "# Выбор записи"
  67.  
  68. # выбираем трек, 1 - первый, 2 - второй и т.д. (по порядку воспроизведения)
  69.  
  70. trackid1=`sed -n "1p" $grpath/tmp/track.list`
  71. trackid2=`sed -n "2p" $grpath/tmp/track.list`
  72. trackid3=`sed -n "3p" $grpath/tmp/track.list`
  73.  
  74. trackid=`zenity --list \
  75.           --title="Записи в публикации $podcastid" \
  76.       --text="Выберите запись:" \
  77.           --column="ID записи:" --column="Название" \
  78.             $trackid1 "в разработке $podcastname1" \
  79.             $trackid2 "в разработке $podcastname2" \
  80.             $trackid3 "в разработке $podcastname3" \
  81. `
  82.  
  83. #trcknum="1p"
  84. #trackid=`sed -n "$trcknum" $grpath/tmp/track.list`
  85.  
  86.         echo "60"
  87.         echo "# Генерация ссылки"
  88.  
  89. # биндим URL
  90. trackURL="http://rpod.ru/get/$podcastid/$trackid/download/"
  91.  
  92.         echo "70"
  93.         echo "# Запуск VLC плеера"
  94.  
  95. # открываем в плеере
  96. vlc $trackURL&
  97.  
  98. # код вставки в html
  99. #
  100. #<object width="500" height="40" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"><param name="movie" value="http://s.rpod.ru/swf/playa.swf?xmlURL=http%3A%2F%2Fs.rpod.ru%2Fxml%2Faudio%2Fa$trackid.xml"></param><param name="allowfullscreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://s.rpod.ru/swf/playa.swf?xmlURL=http%3A%2F%2Fs.rpod.ru%2Fxml%2Faudio%2Fa120417.xml" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="500" height="40"></embed></object>
  101. #
  102. # или
  103. #<object width="500" height="40" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"><param name="movie" value="http://s.rpod.ru/swf/playa.swf?xmlURL=http://s.rpod.ru/xml/audio/a$trackid.xml"></param><param name="allowfullscreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://s.rpod.ru/swf/playa.swf?xmlURL=http://s.rpod.ru/xml/audio/a$trackid.xml" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="500" height="40"></embed></object>
  104. #
  105.  
  106.         echo "90"
  107.         echo "# Удаление временных файлов"
  108.  
  109. # удаляем мусор
  110. rm -r $grpath/tmp
  111.  
  112.         echo "100"
  113.         ) |
  114.         zenity --progress \
  115.           --title="rpod Podcast.Grabber" \
  116.           --text="Получение ссылки на подкаст..." \
  117.       --auto-close \
  118.           --percentage=0
  119.  
  120.  
  121.         if [ "$?" = -1 ]; then
  122.                 zenity --error \
  123.                   --text="Открытие отменено."
  124.         fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement