VLC-LUA: 使用 net.stat

我正在尝试编写一个函数,找到其中的第一个 .waste 目录,其在其中一个父目录中 (例如 .. ../.. ../../..)。

为此,我需要查看该目录是否存在。 对于这个,我想net.stat可能很有用。

但是这个失败了:

vlc.net.stat("/")

输出如下:

lua warning: Error while running script /home/tange/.local/share/vlc/lua/extensions/WasteBasket.lua, function activate(): /home/tange/.local/share/vlc/lua/extensions/WasteBasket.lua:42: attempt to index field 'net' (a nil value)

从错误来看,似乎 vlc.net 不包含 vlc.net.stat - 但是在 https://www.videolan.org/developers/vlc/share/lua/README.txt 中列出了 net.stat

VLC-LUA 中使用 net.stat 的示例将非常赞赏。

点赞
用户363028
用户363028

我最终使用 os.execute("cd " .. dir) 来检查目录是否存在。

它能工作,但我认为这是一个 hack。

function directory_exists(dir)
  -- 检查目录是否存在的简单程序
  -- 对目录名进行shell转义
  dir, _ = dir:gsub("([\002-\009\011-\026\\#?`(){}%[%]^*<>=~|; \"!$&'\130-\255])", "\\%1")
  dir, _ = dir:gsub("\n", "'\n'")
  return os.execute("cd " .. dir)
end
2022-04-18 15:11:32