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

32 lines
899 B
Lua

-- 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/....`
local utils = require 'mp.utils'
local msg = require 'mp.msg'
local function exec(args)
local ret = utils.subprocess({args = args})
return ret.status, ret.stdout, ret
end
mp.add_hook("on_load", 15, function()
local url = mp.get_property("stream-open-filename", "")
if (url:find("gdl://") ~= 1) then
msg.debug("not a gdl:// url: " .. url)
return
end
local url = string.gsub(url,"gdl://","")
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
mp.commandv("loadlist", "memory://" .. urls)
end)