将在线广播播放列表数据转换为可播放Spotify播放列表的工具

lightsout的Python项目详细描述


熄灯!游击队电台!把它打开!
-对着机器狂怒

Lights Out是一个将无线电台在线播放列表转换为Spotify播放列表的工具。

用法

您可以使用pip:

$ pip install lightsout

在你第一次熄灯之前,你需要注册一个 spotify应用程序。为此,请访问the Spotify Developer portal 并提供一些应用程序详细信息。作为回报,您将获得两个凭据: 一个SPOTIFY_CLIENT_ID和一个SPOTIFY_CLIENT_SECRET

然后,在主目录中创建一个名为.lightsoutrc的文件。这个文件 应该包含您的两个spotify凭据:

SPOTIFY_CLIENT_ID='<your credentials here>'
SPOTIFY_CLIENT_SECRET='<your credentials here>'

根据需要替换您自己的凭据。

然后,您可以熄灯:

$ lightsout -u <your Spotify username>

根据需要替换您自己的spotify用户名。

如果这是你第一次熄灯,你将被重定向到 浏览器,提示您登录Spotify帐户并授权 申请。这将重定向到指定的localhost:8888url 作为应用程序的重定向URL。您的浏览器将无法加载 这一页-但没关系-你需要的只是网址。复制url,然后 将其粘贴到控制台窗口中,该窗口中正在运行熄灯。

完成此操作后,Lights Out将下拉播放列表的数据, 在spotify中搜索与播放列表中的歌曲匹配的曲目,并构造 Spotify播放列表。

选项

您还可以将许多选项传递给lightsout

  • 您可以使用-s选项指定doublej以外的电台:

    $ lightsout -u <your Spotify username> -s triplej
    

    有关可用频道的列表,请参见--help

  • 您可以使用 -d选项。如果您指定了:

    $ lightsout -u <your Spotify username> -d '2016-05-01T10:30:00+0800'
    

    搜索时间为2016年5月1日上午10:30,AWST。

  • 您可以指定播放列表窗口的大小。默认情况下,搜索时间为24小时, 但是您可以使用-l选项指定任何长度(以小时为单位)。例如:

    $ lightsout -u <your Spotify username> -l 4
    

    将生成一个4小时的播放列表。

  • > p>可以指定要使用现有的播放列表追加到 -p选项:

    $ lightsout -u <your Spotify username> -p 7wkac9khk9ssablyH9kRsC
    
    < >你可以通过指定{TT12}$作为播放列表:

    找到现有播放列表。
    $ lightsout -u <your Spotify username> -p LIST
    
  • 如果要维护永久播放列表(已替换的播放列表, 您可以使用^{tt13}指定播放列表,而不是附加到$ 选项:

    $ lightsout -u <your Spotify username> -p 7wkac9khk9ssablyH9kRsC
    

    如果要更新一个永久播放列表,但^ {EM1} $不追加到一个现有的 播放列表,您可以指定-p NONE-P

    $ lightsout -u <your Spotify username> -p NONE -P 7wkac9khk9ssablyH9kRsC
    

熄灯

灯熄灭当前支持以下电台:

  • 澳大利亚ABC
    • 双J
    • 三J
    • 出土
    • ABC经典版
    • ABC经典2
    • ABC爵士乐
    • ABC国家
    • ABC额外

要添加新的电台,您需要将单个功能添加到 lightsout/backends.py。这个函数有两个参数:一个开始 日期时间和结束日期时间。函数必须返回 字典,每个描述单个曲目的字典:

[
    {'track': 'Paranoid Android', 'artist': 'Radiohead', 'album': 'OK Computer'},
    {'track': 'mogwai fear satan', 'artist': 'Mogwai', 'album': 'Young Team'},
    {'track': 'Brennisteinn', 'artist': 'Sigur Rós', 'album': 'Kveikur'},
    ...
]

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在OSGi felix scr注释中将运行时参数传递给服务   java如何按字母顺序将对象插入ArrayList?   在Netbeans中调试Java   java从json文件中获取不同的照片   通过迭代和打印将java插入2个哈希表的运行时间   java如何替换JUnit 5中的WireMock@Rule注释?   shell在javajsch程序中使用'been'命令访问受限目录   java RMI是什么类型的?   javajooq别名构造   java如何通过在testNG中创建对象来调用测试方法   java下载从安卓 URL加载到imageview中的图像   从java运行bat文件   带有客户端证书的java嵌入式Jetty   java Ajax将JSON数组发送到servlet   创建数据并将数据添加到SQLite数据库时发生java错误   添加CV的javascript HRMS项目过程   java AspectJ加载时编织不起作用   java动态更改(使用JMX)正在监视的文件夹中的新文件   java岛数迭代矩阵并将节点标记为已访问