Module:Video
usage
unknown file
{{#invoke:video|file|unknown file}}
unknown file
found video
[[File:{{#invoke:video|file|RoE 1.0 CD-Heroes3-DATA-HEROES3 VID-EVIL1A-smk-EVIL1A}}|200px]]
File:RoE 1.0 CD-Heroes3-DATA-HEROES3 VID-EVIL1A
found gif
This one will fail to find anything with webm because of the added text to the end. Then it will cut off the last two sections separated by a dash and so actually find a gif that matches:
[[File:{{#invoke:video|file|RoE 1.0 CD-Heroes3-DATA-HEROES3 VID-EVIL1A-smk-EVIL1Axyz123}}|200px]]
File:RoE 1.0 CD-Heroes3-DATA-HEROES3 VID-EVIL1A
local p = {}
function p.file( frame )
-- fileexists = frame:expandTemplate{title = 'exist', args = {'file:'..frame.args[1]..'.webm', 'yes'}}
-- fileexists = frame:expandTemplate{title = 'exist', args = {'file:'..frame.args[1]..'.ogg', 'yes'}}
local lines = p.split(frame.args[1], '-')
local result = ''
for i, line in ipairs(lines) do
result = result .. line
if i + 2 >= #lines then
break
else
result = result .. '-'
end
end
return result
-- fileexists = frame:expandTemplate{title = 'exist', args = {'file:'..frame.args[1]..'.png', 'yes'}}
-- if frame.args[1] == 'if' then
-- return 'if'
-- elseif frame.args[1] == 'elseif' then
-- return 'elseif'
-- else
-- return 'else'
-- end
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