液体肥皂收音机的配套应用
showergel的Python项目详细描述
沐浴露是用来放在一边的Liquidsoap: 当Liquidsoap脚本创建一个无线流时, 淋浴凝胶提供了补充功能,如日志记录或临时调度, 有一个(极简主义)网络界面。 它是为了运行在一个Linux机器上(带有systemd),专用于您的无线流。在
该项目仍处于初级阶段-我们欢迎这两项贡献 和评论,请随时在“问题”选项卡中开始讨论。在
设计
Showergel是一个轻量级的程序,可以在liquiddisap实例上永久运行。 它通过telnet服务器与LiquidSoap通信, 通过HTTP与外界联系。在
我们假设大部分程序时间应该由Liquidsoap脚本处理, 通常在音乐文件夹上使用random运算符 或者使用switch来安排常规的预录制节目。在
换言之,你仍然需要为自己编写适合你收音机的Liquidsoap脚本。 我们只举几个例子, 介绍Liquidsoap的基础知识和Showgel的集成。在
沐浴露是为社区和慈善电台设计的。 因此,我们将保持它的小而简单:
- 沐浴露与Liquidsoap在同一台机器上运行。在
- 它依赖Python3的SimpleHTTPRequestHandler,因为它足够了 为单个流提供接口, 它让我们把所有的事情都放在一个过程中。在
- 因为有一个支持无线电波流的数据库,所以Showergel的数据存储在SQLite中 通常重几十兆字节。在
- 调度被委托给APScheduler…他还需要SQLAlchemy来 访问SQLite,所以我们也使用SQLAlchemy。在
- 沐浴露不会保存您的音乐和节目集。 关于这个问题,我们建议Beets, 您可以在中找到它与Liquidsoap集成的示例 Liquidsoap documentation。在
淋浴凝胶只在Linux下测试过。在
许可证:GPL3。在
安装
通过运行pip install showergel安装程序。在
通过调用showergel_install运行交互式安装程序。 它将在终端上解释发生了什么以及从这里开始做什么。 如果您坚持默认设置,安装程序将:
- 创建数据库(showergel.db) 以及当前目录中的配置文件(showergel.ini)
- 创建一个名为showergel的systemd用户服务; 换句话说,你可以systemctl --user status|start|stop|restart showergel。在
- 启用服务和systemd的lingering,这样Showergel将在启动时自动启动。在
- 安装后,沐浴露将在http://localhost:1234/处提供。在
安装程序的问题允许您:
- 更改systemd服务的名称和DB/配置文件的名称。 如果您想运行多个ShowGel实例,这很有用,因为 从同一台机器上广播多个节目。 例如,响应radio将创建radio.db、radio.ini和radio服务。在
- 如果您更喜欢自己启动沐浴露,请跳过服务创建。在
- 为Liquidsoap脚本创建另一个systemd用户服务, 因此systemd将自动启动所有内容(建议这样做)。 注意,在这种情况下,安装程序使用 相同的基名:例如, radio_gel(与radio关联的淋浴凝胶服务) 和radio_soap(为radio提供的Liquidsoap脚本)。在
配置
请参阅安装程序创建的.ini文件中的注释。在
发展
依赖、安装和包装由Poetry完成。 一旦安装了诗歌, 创造一个Python环境, 激活它,然后从这个存储库的克隆运行poetry install。在
开发时,应该手动启动Liquidsoap脚本和Showergel。 运行showergel_install --dev创建一个空数据库(showergel.db) 和一个基本配置文件(showergel.ini) 在当前文件夹中。 阅读(或者编辑)showergel.ini, 启动liquidisoap,然后运行showergel showergel.ini。 你很可能会想要埃娜通过设置^{tt24}启用详细日志$ 在ini文件的logger_root部分。在
^{tt26}的自定义身份验证$
这将被移动到HTTP端点
showergel/harbor_auth.py是一个独立的脚本 它可以支持input.harbor的自定义身份验证函数, 每个用户都有自己的密码。 请参阅脚本docstring中的文档。在
- 项目
标签: