dotfiles/multimedia/.config/mpv/scripts/gallery-dl.lua

34 lines
879 B
Lua
Raw Normal View History

-- gallery-dl_hook.lua
--
-- load online image galleries as playlists using gallery-dl
-- https://github.com/mikf/gallery-dl
--
-- to use, prepend the gallery url with: gallery-dl://
-- e.g.
-- `mpv gallery-dl://https://imgur.com/....`
2023-06-15 08:12:30 +00:00
local mp = require("mp")
local utils = require("mp.utils")
local msg = require("mp.msg")
local function exec(args)
2023-06-15 08:12:30 +00:00
local ret = utils.subprocess({ args = args })
return ret.status, ret.stdout, ret
end
mp.add_hook("on_load", 15, function()
2023-06-15 08:12:30 +00:00
local fn = mp.get_property("stream-open-filename", "")
if fn:find("gdl://") ~= 1 then
msg.debug("not a gdl:// url: " .. fn)
return
end
local url = string.gsub(url, "gdl://", "")
2023-06-15 08:12:30 +00:00
local es, urls, result = exec({ "gallery-dl", "-g", url })
if (es < 0) or (urls == nil) or (urls == "") then
msg.error("failed to get album list.")
end
2023-06-15 08:12:30 +00:00
mp.commandv("loadlist", "memory://" .. urls)
end)