Module:Video
usage
{{#invoke:video|file|unknown file}} unknown file.gif{{#invoke:video|file|RoE 1.0 CD-Heroes3-DATA-HEROES3 VID-EVIL1A-smk-EVIL1A}}
RoE 1.0 CD-Heroes3-DATA-HEROES3 VID-EVIL1A-smk-EVIL1A.webm
local p = {}
function p.file( frame )
-- if frame.args[2] and frame.args[2] ~= 'none' then
-- fileexists = frame:expandTemplate{title = 'exist', args = {'file:'..frame.args[1]..'-'..frame.args[2]..'-voice.webm', 'yes'}}
-- if fileexists == 'yes' then
-- return frame.args[1]..'-'..frame.args[2]..'-voice.webm'
-- end
-- end
-- for _, source in pairs({'RoE', 'AB', 'SoD', 'HC', 'HotA'}) do
-- if frame.args[1]:match('^' .. source) == source then
-- fileexists = frame:expandTemplate{title = 'exist', args = {'file:'..frame.args[1]..'-'..source..'-voice.webm', 'yes'}}
-- if fileexists == 'yes' then
-- return frame.args[1]..'-'..source..'-voice.webm'
-- end
-- break
-- end
-- end
fileexists = frame:expandTemplate{title = 'exist', args = {'file:'..frame.args[1]..'.webm', 'yes'}}
if fileexists == 'yes' then
return frame.args[1]..'.webm'
end
local lines = p.split(frame.args[1], '-')
local parent2 = ''
for i, line in ipairs(lines) do
parent2 = parent2 .. line
if i + 2 >= #lines then
break
else
parent2 = parent2 .. '-'
end
end
return parent2..'.gif'
end
function p.split(str, sep)
local result = {}
local regex = ("([^%s]+)"):format(sep)
for each in str:gmatch(regex) do
table.insert(result, each)
end
return result
end
return p