资讯专栏INFORMATION COLUMN

基于python的豆瓣FM(终端命令行界面)

xiaoqibTn / 1127人阅读

摘要:这个版本的命令行界面是参考了版本的制作的向原作者致敬终端界面设计的非常好看感谢的修改已经支持其实版本已经很好了功能齐全但是我发现在我的环境下颜色竟然显示不出来感觉很蛋疼需要播放器依赖如未安装在终端下直接输入第一次登陆需要输入账号密码程序不

douban.fm

这个版本的命令行界面是参考了 Node.js版本的douban.fm制作的,向原作者致敬.终端界面设计的非常好看.

感谢Cloverstd的修改,已经支持Mac OS X(>=V0.2.9)

Screenshots

Support

Linux/Mac OS X

Do something cool!

其实Node.js版本已经很好了,功能齐全,但是我发现在我的zsh + tmux环境下颜色竟然显示不出来,感觉很蛋疼.

Installation
$ sudo pip install douban.fm

需要mplayer播放器依赖,如未安装:

Ubuntu:

$ sudo apt-get install mplayer

OS X:

$ brew install mplayer
Usage

在终端下直接输入

$ douban.fm
Login

第一次登陆需要输入账号,密码,程序不会保留密码,而是保存返回的token存储在~/.douban_token.txt,下次登陆无需输入密码.

Keys

支持vim按键

移动
 [j]     --> 下
 [k]     --> 上
 [g]     --> 移到最顶
 [G]     --> 移到最底
音乐
 [space] --> 播放
 [w]     --> 打开歌曲主页
 [n]     --> 下一首
 [r]     --> 喜欢/取消喜欢
 [b]     --> 不再播放
 [q]     --> 退出
 [p]     --> 暂停
 [l]     --> 单曲循环
音量(>=V0.2.9)
 [=]     --> 增
 [-]     --> 减
 [m]     --> 静音
歌词(>=v0.2.9)
 [o]     --> 显示歌词(Bug很多,先别用,没有反应就是没找到歌词)
 [q]     --> 退出歌词
Configuration(>=v0.2.8)

.doubanfm_config保存在了~/.doubanfm_config,根据需要可以修改按键的映射

[key]
UP = k       # 上
DOWN = j     # 下
TOP = g      # 顶
BOTTOM = G   # 底
OPENURL = w  # 打开歌曲主页
RATE = r     # 标记喜欢/取消喜欢
NEXT = n     # 下一首
BYE = b      # 不再播放
QUIT = q     # 退出
PAUSE = p    # 暂停
LOOP = l     # 单曲循环
MUTE = m     # 静音
Done

登陆token

显示PRO

cli设计

播放,下一首,红心,不再播放

进度条(时间)

终端高度的自动调整

pro用户歌曲kbps的选择(pro用户会自动选择192kbps)

歌曲结束request(发送歌曲完成)

config设置

调节音量(amixer) + 标题中显示音量

歌词

歌曲暂停

单曲播放

TODO

默认频道

播放歌曲数 红心数 不再播放数

异常处理

BUG

~~播放歌曲中有时候会暂停~~

~~退出后终端光标会隐藏~~

~~.douban_token.txt路径问题~~

~~登陆异常处理~~

~~静音后播放下一首会取消静音~~

Authors

Fansion

Cloverstd

Reference

Node.js版本的douban.fm

豆瓣FM命令行播放器(pyfm)

豆瓣电台 API

Log

V0.2.10 滚动歌词,单曲循环,暂停,静音

V0.2.9 支持歌词,支持Mac OS X

V0.2.8 增加config

License (MIT)

Copyright (c) 2014 hackerxu

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/37420.html

相关文章

  • python爬虫实践: 豆瓣小组命令客户端

    摘要:主要特性前一阵重新组织了一下代码加了命令行信息用起来更方便了一些初步实现了豆瓣小组及用户相关的爬虫和请求基于和没有用高阶的诸如之类的爬虫工具所有的命令行输出都是标准的格式可以使用操作安装仅支持使用两种命令模式客户端接口调用和豆瓣模块接口 主要特性 前一阵重新组织了一下代码, 加了命令行help信息, 用起来更方便了一些 初步实现了豆瓣小组及用户相关的API爬虫和请求 基于reques...

    golden_hamster 评论0 收藏0
  • Visual Studio Code 远程开发探秘

    摘要: IDE新时代! 作者:SHUHARI 的博客 原文:Visual Studio Code 远程开发探秘 Fundebug按照原文要求转载,版权归原作者所有。 在以前的文章 有趣的项目 - 在浏览器中运行 Visual Studio Code, 我介绍过 Coder 开发团队将 Visual Studio Code 搬到浏览器里的尝试。这是一个有趣的项目,不过没有想到的是,这之后不久...

    phodal 评论0 收藏0

发表评论

0条评论

xiaoqibTn

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<