Python 脚本返回的 Liquidsoap 加载轨道

Liquidsoap Load Track Returned by Python Script

我有一个 python 脚本可以调用数据库来获取音乐曲目。脚本 return 是该音乐文件的路径。如何让 Liquidsoap 调用 python 脚本并加载脚本 returns 的音乐文件?

我还需要知道 date/time Liquidsoap 何时播放该文件以及 return 到 python 脚本。

在 liquidsoap 中,我目前只是让它监视播放列表文件的更改:

myplaylist = playlist(mode="normal",reload=0,reload_mode="watch","/home/wruser/radio/test.m3u")

python脚本调用数据库,然后写入test.m3u文件。

我在想,也许 Liquidsoap 中有一种方法可以调用脚本并将其 return 文件的位置,以便 Liquidsoap 然后可以加载它。我还想知道 date/time Liquidsoap 执行此操作,以便我可以让 python 脚本将该信息保存回数据库。

我正在使用 liquidsoap 将输出发送到 Icecast 服务器。

此致, 安东尼

好的,我找到了使用以下代码从 python 脚本获取结果的答案:

def my_request_function() = 
  # Get the first line of my external process
  result = list.hd(default="", get_process_lines("python3 /home/wruser/radio/python/test.py"))
  print(result)
  # Create and return a request using this result
  [request.create(result)]
end

# Create the source
s = request.dynamic.list(my_request_function)