Module:Video: Difference between revisions

From Heroes 3 wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 8: Line 8:
local result = ''
local result = ''
for i, line in ipairs(lines) do
for i, line in ipairs(lines) do
if i + 2 >= #lines then
if i + 1 >= #lines then
break
break
end
end

Revision as of 00:31, 13 February 2024

usage

unknown file

{{#invoke:video|file|unknown file}}


found video

[[File:{{#invoke:video|file|RoE 1.0 CD-Heroes3-DATA-HEROES3 VID-EVIL1A-smk-EVIL1A}}|200px]]

File:1:RoE 1.0 CD2:Heroes33:DATA4:HEROES3 VID5: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:1:RoE 1.0 CD2:Heroes33:DATA4:HEROES3 VID5: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
		if i + 1 >= #lines then
			break
		end
	   result = result .. i .. ':' .. line
	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