用PyQt抄了个桌面豆瓣FM客户端

2013-05-05 00:48:30 +08:00
 mckelvin
今天花了一天写的这个,还没完工,未来几天慢慢完善,现在基本功能都可以正常使用,界面基本抄网页版豆瓣FM。

这是一个System Tray Application(似乎没这术语),简单地说它不会单独弹出一个窗口显示内容,而是通过点击系统托盘上的图标切换显示,图标右键是菜单。

暂时想到两个相比网页版本豆瓣FM的好处:

- no flash
- 任何时候都可以方便地点击托盘来查看当前歌曲(否则要切到浏览器的特定一个tab)

项目地址:

https://github.com/mckelvin/doubanfm-cli-for-linux/tree/gui

截图:

https://github.com/mckelvin/doubanfm-cli-for-linux/raw/gui/misc/preview.png
9066 次点击
所在节点    Python
34 条回复
yexiaoxing
2013-05-05 00:56:03 +08:00
谁能抄个亦歌的呢。。
我能提供API
zythum
2013-05-05 01:11:31 +08:00
亦歌 用过。然后没有了
ziseyinzi
2013-05-05 02:18:11 +08:00
不错,明天试试
yexiaoxing
2013-05-05 03:48:33 +08:00
@zythum
lennyh
2013-05-05 14:03:45 +08:00
@yexiaoxing 啥API,那个小的swf?
http://code.google.com/p/1g1g/
greatghoul
2013-05-05 21:02:37 +08:00
@yexiaoxing 其实我也是忠实的亦歌用户。
jamiesun
2013-05-06 10:20:08 +08:00
听过几天亦歌,音源质量参差不齐,也是没有然后了
yexiaoxing
2013-05-06 17:52:28 +08:00
@lennyh rest api
sgsheg
2013-05-06 18:13:52 +08:00
不错了
eary
2013-05-06 19:46:36 +08:00
@yexiaoxing API包括“like” “播放接口”么?
YUCOAT
2013-05-06 20:18:18 +08:00
你的源码有问题,我不是很懂Python,刚刚clone了你的代码,运行的时候发现一个这样的问题,在
src/doubanfm.py的44行中有这样一行代码:

self.http_session = requests.session(cookies=self.http_cookies)

但是在执行的时候解释器说requests.session()是没有参数。我查阅了requests的文档,也没有发现参数。
gouera
2013-05-06 20:28:41 +08:00
为什么不说怎么用呢。。。。 我 python doubanfm 提示
SCRIPT=`realpath $0`
^
SyntaxError: invalid syntax
google无果。。这是什么意思啊
yexiaoxing
2013-05-06 22:58:37 +08:00
@eary 目前先提供搜索和读取收藏的接口,
mckelvin
2013-05-07 13:07:29 +08:00
@YUCOAT 我查看了下requests的文档确实没用这种用法,但是我本地环境下使用却没有问题,记得当时是从http://stackoverflow.com/questions/13030095/how-to-save-requests-python-cookies-to-a-file 抄的。
保险起见我改成这样(https://github.com/mckelvin/doubanfm-cli-for-linux/commit/fd97b296c490c67fb358bf60868470492b8ffe98#L2R53 )了

本地requests版本信息:
requests - Python HTTP for Humans.
INSTALLED: 0.14.0
LATEST: 1.2.0
mckelvin
2013-05-07 13:11:23 +08:00
@gouera 抱歉还没来得及写说明文档,`bin/doubanfm`是个可执行的shell文件,你可以看一下它的源码,不应该用python运行它,它会去跑python脚本。
可以通过:
./bin/doubanfm
./bin/doubanfm http://dou.bz/3cF5xh
./bin/doubanfm http://douban.fm/?start=1483511g2965g1002215&cid=1002215
来运行。
bingwenshi
2013-05-07 13:21:21 +08:00
(*^__^*) 嘻嘻…… 我来看看,PyQt可以跨平台的吧?
VeryCB
2013-05-07 13:29:43 +08:00
(*^__^*) 嘻嘻…… 我也来看看
gouera
2013-05-07 14:12:16 +08:00
@mckelvin
wsl@wsl:~/Downloads$ ./doubanfm/bin/doubanfm
./doubanfm/bin/doubanfm: line 3: realpath: command not found
dirname: missing operand
Try `dirname --help' for more information.
python: can't open file '/../src/main.py': [Errno 2] No such file or directory


我能說還是不行麼,剛接觸這個,沒有文檔真不會用。。。
mckelvin
2013-05-07 14:51:37 +08:00
@gouera 我在项目主页上补了一些文档。realpath 是 http://www.gnu.org/software/coreutils/ 里的,你的系统没有这个命令。我是在ArchLinux下开发的,,实在不行你就切换到src目录执行 python main.py
lennyh
2013-05-08 21:15:03 +08:00
@yexiaoxing 俺现在想导出亦歌的收藏列表都不成功,RSS和分享都不行,不知API可用不?如果可用俺倒确实想试一试~~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/67738

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX