Module:Video

From Heroes 3 wiki
Revision as of 00:34, 13 February 2024 by Imahero (talk | contribs)
Jump to navigation Jump to search

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