当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 24 篇帖子 ]  前往页数 1, 2  下一页
作者 内容
1 楼 
 文章标题 : pps的bash的用zenity实现的简单的gui列表。使用pps的视频列表接口
帖子发表于 : 2009-08-28 2:44 
头像

注册: 2006-08-24 21:25
帖子: 256
送出感谢: 0 次
接收感谢: 0 次
pps for linux 的视频列表接口放出了,所以就更新下我的小脚本吧,新开个帖子吧,原来的帖子太乱了。
现在的问题就是:一些连续剧的xml文件里,pps很偷懒的竟然没有放title,所以就会形成错误。这个问题明天再想办法解决吧,现在很晚了,要睡觉了。

同样,编写环境为archliux,ubuntu有问题的请留言,应该不会有问题,什么都没用,就用了sed.


代码:
#!/bin/bash
#=====================================
#帮助pps for linux 更好的播放的小脚本。
#根据视频列表接口生成
#xzap   xzap1982[at]gmail.com
#ver: 20090828
#======================一些设置===================
#pps for linux 的mplayer的地址
exe=~/usr/pps/mplayer
#缓存的播放列表位置
templist=/tmp/ppslist$$
#二级列表缓存位置
sublist=/tmp/sublist$$
#主分类列表缓存位置
categorylist=/tmp/categorylist$$
#======================开始代码========================
#抓取分类页
wget http://playlist.pps.tv/classfortv.php -q -T 10 -O- 2>/dev/null | enconv|sed -ne 's/<Title><!\[CDATA\[\(.*\)\]\]><\/Title>/\1/p' -e 's/<ID><!\[CDATA\[\(.*\)\]\]><\/ID>/\1/p' -e 's/<Type><!\[CDATA\[\(.*\)\]\]><\/Type>/\1/p' -e 's/<ContentNum><!\[CDATA\[\(.*\)\]\]><\/ContentNum>/\1/p' > $categorylist   
while :
do
#产生分类页列表
rusult=($(cat $categorylist|zenity --list  --width 300 --height 500 --separator "  " --hide-column "1" --print-column all --title "pps的简单的播放列表" --text "选择要播放影片的类别,0代表有子目录,1代表无子目录"  --column "class" --column "类别列表" --column "子目录" --column "数量"))
if [ $? != 0 ]
      then
      [ -e $templist ]&&rm $templist
      [ -e $sublist ]&&rm $sublist
      [ -e $categorylist ]&&rm $categorylist
      exit
      
   fi
class=${rusult[0]}
fenlei=${rusult[1]}
ftype=${rusult[2]}
num=${rusult[3]}

let count=$num/50
let count=$count+1
#判断是否有二级目录
if [ $ftype = 1 ]; then
[ -e $templist ]&&rm $templist
echo "没有子目录,正在生成播放列表,该列表中共有$num个项目。项目越多,时间越长,请内心等待……"
for (( i = 1; i <= count; i++ )); do
echo -n "."
wget  "http://playlist.pps.tv/channelsfortv.php?class=$class&page=$i" -q -T 10 -O- 2>/dev/null |enconv|sed -ne 's/<Title><!\[CDATA\[\(.*\)\]\]><\/Title>/\1/p' -e 's/<DUrl><!\[CDATA\[\(.*\)\]\]><\/DUrl>/\1/p' >>$templist
done
else
[ -e $sublist ]&&rm $sublist
echo "有子目录,正在生成子目录类别,该子目录中共有$num个项目。项目越多,时间越长,请内心等待……"

wget  "http://playlist.pps.tv/subclassfortv.php?class=$class" -q -T 10 -O- 2>/dev/null |enconv|sed 's/<SubID>/\n<SubID>/g'|sed 's/<Title>/\n<Title>/g'|sed 's/<FilmTitle>/\n<FilmTitle>/g'|sed 's/<ContentNum>/\n<ContentNum>/g'|sed 's/<\/SubClass>/\n<\/SubClass>/g'|sed -ne 's/<SubID><!\[CDATA\[\(.*\)\]\]><\/SubID>/\1/p' -e 's/<Title><!\[CDATA\[\(.*\)\]\]><\/Title>/\1/p' -e 's/<ContentNum><!\[CDATA\[\(.*\)\]\]><\/ContentNum>/\1/p' -e 's/<FilmTitle><!\[CDATA\[\(.*\)\]\]><\/FilmTitle>/\1/p'  >$sublist

subrusult=($(cat $sublist|zenity --list  --width 500 --height 500 --separator "  " --hide-column "1" --print-column all --title "pps的简单的播放列表" --text "请在二级子目录中选择,本目录共有$num个项目"  --column "subid" --column "$fenlei" --column "推荐影片" --column "数量"))

if [ $? != 0 ]
      then
      [ -e $templist ]&&rm $templist
      [ -e $sublist ]&&rm $sublist
      [ -e $categorylist ]&&rm $categorylist      
      break      
   fi
echo $subrusult
subid=${subrusult[0]}
subtitle=${subrusult[1]}
subfilm=${subrusult[2]}
num=${subrusult[3]}

let count=$num/50
let count=$count+1
[ -e $templist ]&&rm $templist

for (( i = 1; i <=count; i++ )); do
echo -n "."
wget  "http://playlist.pps.tv/channelsfortv.php?class=$class&subclass=$subid&page=$i" -q -T 10 -O- 2>/dev/null |enconv|sed -ne 's/<Title><!\[CDATA\[\(.*\)\]\]><\/Title>/\1/p' -e 's/<DUrl><!\[CDATA\[\(.*\)\]\]><\/DUrl>/\1/p' >>$templist
done
echo "正在生成播放列表,该列表中共有$num个项目。项目越多,时间越长,请内心等待……"
fi

#生成播放列表
while :
do
url=`cat $templist|zenity --list --column "影片名称" --column "影片的地址" --width 600 --height 600 --title "pps的简单的播放列表" --print-column 2 --text "选择要播放的影片,一共有$num个可播放项目" `

if [ $? != 0 ]
      then

      
      [ -e $sublist ]&&rm $sublist
         
      
         break
      
   fi

if [ -z $url ]
then
echo "Sorry! 没有捕获播放地址。"
else

echo "已经捕获播放地址$url现在开始播放……"
#echo $url
sudo $exe $url
wait
fi
done
done


附件:
文件注释: pps的bash的用zenity实现的简单的gui列表。使用pps的视频列表接口
plist.tar.bz2 [1.7 KiB]
被下载 141 次



附件:
文件注释: pps官方的视频列表接口文档
PPS_Playlist_for_Linux.zip [16.29 KiB]
被下载 169 次


页首
 用户资料  
 
2 楼 
 文章标题 : Re: pps的bash的用zenity实现的简单的gui列表。使用pps的视频列表接口
帖子发表于 : 2009-08-28 8:41 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
是重复的那个?


_________________
● 鸣学


页首
 用户资料  
 
3 楼 
 文章标题 : Re: pps的bash的用zenity实现的简单的gui列表。使用pps的视频列表接口
帖子发表于 : 2009-08-28 9:08 
头像

注册: 2007-07-11 21:43
帖子: 3382
地址: 东江边
系统: archlinux
送出感谢: 15
接收感谢: 7
代码:
./plist: line 18: enconv:找不到命令


_________________
我来了,我看见了,我征服了!
求勾搭,不管饭。


页首
 用户资料  
 
4 楼 
 文章标题 : Re: pps的bash的用zenity实现的简单的gui列表。使用pps的视频列表接口
帖子发表于 : 2009-08-28 9:24 

注册: 2008-11-07 21:39
帖子: 167
送出感谢: 0 次
接收感谢: 0 次
./dz1: line 18: enconv:找不到命令


页首
 用户资料  
 
5 楼 
 文章标题 : Re: pps的bash的用zenity实现的简单的gui列表。使用pps的视频列表接口
帖子发表于 : 2009-08-28 10:26 
头像

注册: 2006-08-24 21:25
帖子: 256
送出感谢: 0 次
接收感谢: 0 次
sfsren 写道:
./dz1: line 18: enconv:找不到命令

那就装一个啊,或者改成iconv -f gbk,或者直接删除掉,不乱码的话。


页首
 用户资料  
 
6 楼 
 文章标题 : Re: pps的bash的用zenity实现的简单的gui列表。使用pps的视频列表接口
帖子发表于 : 2009-08-28 10:58 

注册: 2008-11-07 21:39
帖子: 167
送出感谢: 0 次
接收感谢: 0 次
xzap 写道:
sfsren 写道:
./dz1: line 18: enconv:找不到命令

那就装一个啊,或者改成iconv -f gbk,或者直接删除掉,不乱码的话。

引用:
ren@ren-desktop:~$ sudo apt-get install enconv
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
E: 无法找到软件包 enconv

改为iconv -f gbk 乱码,直接删除ok了


页首
 用户资料  
 
7 楼 
 文章标题 : Re: pps的bash的用zenity实现的简单的gui列表。使用pps的视频列表接口
帖子发表于 : 2009-08-28 11:06 

注册: 2008-11-07 21:39
帖子: 167
送出感谢: 0 次
接收感谢: 0 次
附件:
sendpix0.jpg
sendpix0.jpg [ 336.92 KiB | 被浏览 1956 次 ]


上面写263个可播放项目,我数了一下,一共才48个,其余的在哪里?可以翻页?


页首
 用户资料  
 
8 楼 
 文章标题 : Re: pps的bash的用zenity实现的简单的gui列表。使用pps的视频列表接口
帖子发表于 : 2009-08-28 12:56 
头像

注册: 2006-08-24 21:25
帖子: 256
送出感谢: 0 次
接收感谢: 0 次
sfsren 写道:
附件:
sendpix0.jpg

上面写263个可播放项目,我数了一下,一共才48个,其余的在哪里?可以翻页?

这个情况好像是官方xml的数字标注有误。有的时候是有这个情况


页首
 用户资料  
 
9 楼 
 文章标题 : Re: pps的bash的用zenity实现的简单的gui列表。使用pps的视频列表接口
帖子发表于 : 2009-08-28 13:02 

注册: 2009-02-01 18:28
帖子: 96
地址: 台灣
送出感谢: 0 次
接收感谢: 0 次
viewtopic.php?f=74&t=223050&start=30
這個更強大 :em04


_________________
Aitjcize, AZ
My Blog: http://berelent.blogspot.com


页首
 用户资料  
 
10 楼 
 文章标题 : Re: pps的bash的用zenity实现的简单的gui列表。使用pps的视频列表接口
帖子发表于 : 2009-08-28 17:07 
头像

注册: 2006-08-24 21:25
帖子: 256
送出感谢: 0 次
接收感谢: 0 次
aitjcize 写道:
http://forum.ubuntu.org.cn/viewtopic.php?f=74&t=223050&start=30
這個更強大 :em04

伤心了,简单点也不错的阿。


页首
 用户资料  
 
11 楼 
 文章标题 : Re: pps的bash的用zenity实现的简单的gui列表。使用pps的视频列表接口
帖子发表于 : 2009-08-29 11:10 

注册: 2006-04-22 9:48
帖子: 110
送出感谢: 0 次
接收感谢: 0 次
xzap 写道:
伤心了,简单点也不错的阿。


支持你


页首
 用户资料  
 
12 楼 
 文章标题 : Re: pps的bash的用zenity实现的简单的gui列表。使用pps的视频列表接口
帖子发表于 : 2009-08-29 11:38 
头像

注册: 2006-08-24 21:25
帖子: 256
送出感谢: 0 次
接收感谢: 0 次
gxw5555 写道:
xzap 写道:
伤心了,简单点也不错的阿。


支持你

谢谢,谢谢这位注册比我早发贴比我少的兄弟,太感动了
我感觉我发贴已经够懒了


页首
 用户资料  
 
13 楼 
 文章标题 : Re: pps的bash的用zenity实现的简单的gui列表。使用pps的视频列表接口
帖子发表于 : 2009-08-29 11:52 
头像

注册: 2007-12-03 9:54
帖子: 943
送出感谢: 0 次
接收感谢: 0 次
支持更新。再说一句,貌似totem插件还有点问题,在未正常播放之前不能换片。


页首
 用户资料  
 
14 楼 
 文章标题 : Re: pps的bash的用zenity实现的简单的gui列表。使用pps的视频列表接口
帖子发表于 : 2009-08-29 12:00 
头像

注册: 2007-12-03 9:54
帖子: 943
送出感谢: 0 次
接收感谢: 0 次
引用:
[ppsvod_create]-----------start(ppstream,demo,pps_mp1234)
[ppsvod_create]-----------end

Playing tvod://e69812f1e07affd367c0337f730e467f ... %BD%DC.wmv.
No stream found to handle url tvod://e69812f1e07affd367c0337f730e467f ... %BD%DC.wmv

[ppsvod_destroy]-----------start
CUDPBaseEx::Send failed!!!!!!!!!!!: Bad file descriptor
CUDPBaseEx::Send failed!!!!!!!!!!!: Bad file descriptor
CUDPBaseEx::Send failed!!!!!!!!!!!: Bad file descriptor
CUDPBaseEx::Send failed!!!!!!!!!!!: Bad file descriptor
CUDPBaseEx::Send failed!!!!!!!!!!!: Bad file descriptor
CUDPBaseEx::Send failed!!!!!!!!!!!: Bad file descriptor
[ppsvod_destroy]-----------end

Exiting... (End of file)

什么意思?错误文件描述?


页首
 用户资料  
 
15 楼 
 文章标题 : Re: pps的bash的用zenity实现的简单的gui列表。使用pps的视频列表接口
帖子发表于 : 2009-08-29 13:01 
头像

注册: 2006-08-24 21:25
帖子: 256
送出感谢: 0 次
接收感谢: 0 次
aric286 写道:
引用:
[ppsvod_create]-----------start(ppstream,demo,pps_mp1234)
[ppsvod_create]-----------end

Playing tvod://e69812f1e07affd367c0337f730e467f ... %BD%DC.wmv.
No stream found to handle url tvod://e69812f1e07affd367c0337f730e467f ... %BD%DC.wmv

[ppsvod_destroy]-----------start
CUDPBaseEx::Send failed!!!!!!!!!!!: Bad file descriptor
CUDPBaseEx::Send failed!!!!!!!!!!!: Bad file descriptor
CUDPBaseEx::Send failed!!!!!!!!!!!: Bad file descriptor
CUDPBaseEx::Send failed!!!!!!!!!!!: Bad file descriptor
CUDPBaseEx::Send failed!!!!!!!!!!!: Bad file descriptor
CUDPBaseEx::Send failed!!!!!!!!!!!: Bad file descriptor
[ppsvod_destroy]-----------end

Exiting... (End of file)

什么意思?错误文件描述?


这个你是不是用的老版本的pps for linux阿,就是用pps://这样的文件链接的


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 24 篇帖子 ]  前往页数 1, 2  下一页

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译