我想用相同的脚本创建许多Liquidsap源,但有一些变量,例如站名。
例如,我已经看到我可以包含config.liq,但如果我可以从与语言无关的东西(如JSON)中读取配置参数,那就太好了。Liquidsap有一个of_json
函数,但我不清楚如何从JSON文件而不是JSON字符串中读取。
我可以做些什么来获得一个不与脚本语言绑定的配置文件?
我不确定该设施是何时添加到Liquidsap的(我这里有1.2.1),但假设您有foo.json,例如:
[
{
station_name : "Some Station",
station_url : "http://example.com/"
},
{
station_name : "Some Other Station",
station_url : "http://other.example.com/"
}
]
然后你应该能够阅读并解析它,比如:
m = file.contents("config.json")
print(of_json(default=[[("error", "badfile")]], m));
提供
[[("station_name","Some Station"), ("station_url","http://example.com/")], [("station_name","Some Other Station"), ("station_url","http://other.example.com/")]]
如果您的JSON是不同的格式,则需要将默认模板调整为of_json
希望能有所帮助。
好问题。我没有确切的代码给你,但我实际上已经能够通过对cURL的访问来读取HTTP。(然后,我发现了HTTP请求的内置功能,但我认为这些功能不适用于您的情况。)
如果找不到直接读取文件的命令,只需使用system()
并调用cat
即可转储文件。
我也找不到任何直接从liquidsoap读取文件的命令。
您可以始终使用环境变量:
station_name = getenv("STATION_NAME")