From Wikipedia, the free encyclopedia


local p = {}

local releases = {}



-- HEY YOU, UPDATE THESE

releases"1.27.0" = "2016-06-28"

releases"1.26.3" = "2016-05-20"

releases"1.23.14" = "2016-05-20"



-- Is there a beta branch that isn't a proper release yet?

p.isthereabeta = false

-- OKAY YOU CAN STOP NOW



-- Iterate a table in reverse

-- from http://lua-users.org/wiki/IteratorsTutorial

function ripairs(t)

  local function ripairs_it(t,i)

    i=i-1

    local v=ti

    if v==nil then return v end

    return i,v

  end

  return ripairs_it, t, #t+1

end



p.releases = releases



-- get trimmed version like "1.XX"

function p.branch( version )

	return string.sub(version, 0,4)

end



-- git branch like REL1_XX

function p.git_branch( version )

	return "REL1_" .. string.sub(p.branch(version), 3)

end



function p.islts( version )

	local branch = p.branch( version )

	-- yeah don't do this

	return branch == "1.19" or branch == "1.23" or branch == "1.27"

end



function p.get( frame )

	return p.version( frame.args1], frame.args2 )

end



-- main function

-- release: stable, legacy, lts, alpha

-- format: version, branch, git, date

function p.version( release, format )

	local versions = {}

	for k,v in pairs(p.releases) do

		table.insert(versions,k)

	end

	table.sort(versions)

	--mw.logObject(versions)

	--mw.log(#versions)

	local version = "0.0.0"

	if release == "stable" then

		version = versions#versions

	elseif release == "legacy" then

		version = versions#versions-1

	elseif release == "lts" then

		for i,v in ripairs(versions) do

			-- this might not be right.

			if p.islts(v) then

				version = v

			end

		end

	elseif release == "alpha" then

		-- alpha only works with "branch" output

		

		version = tonumber(p.branch(versions#versions]))+0.01

		if p.isthereabeta then

			version = version + 0.01

		end

		version = tostring(version)

	end



	local out = "WRONG"

	if format == "version" then

		out = version

	elseif format == "branch" then

		out = p.branch( version )

	elseif format == "git" then

		out = p.git_branch( version )

	elseif format == "date" then

		out = p.releasesversion

	end



	return out

end



return p
From Wikipedia, the free encyclopedia


local p = {}

local releases = {}



-- HEY YOU, UPDATE THESE

releases"1.27.0" = "2016-06-28"

releases"1.26.3" = "2016-05-20"

releases"1.23.14" = "2016-05-20"



-- Is there a beta branch that isn't a proper release yet?

p.isthereabeta = false

-- OKAY YOU CAN STOP NOW



-- Iterate a table in reverse

-- from http://lua-users.org/wiki/IteratorsTutorial

function ripairs(t)

  local function ripairs_it(t,i)

    i=i-1

    local v=ti

    if v==nil then return v end

    return i,v

  end

  return ripairs_it, t, #t+1

end



p.releases = releases



-- get trimmed version like "1.XX"

function p.branch( version )

	return string.sub(version, 0,4)

end



-- git branch like REL1_XX

function p.git_branch( version )

	return "REL1_" .. string.sub(p.branch(version), 3)

end



function p.islts( version )

	local branch = p.branch( version )

	-- yeah don't do this

	return branch == "1.19" or branch == "1.23" or branch == "1.27"

end



function p.get( frame )

	return p.version( frame.args1], frame.args2 )

end



-- main function

-- release: stable, legacy, lts, alpha

-- format: version, branch, git, date

function p.version( release, format )

	local versions = {}

	for k,v in pairs(p.releases) do

		table.insert(versions,k)

	end

	table.sort(versions)

	--mw.logObject(versions)

	--mw.log(#versions)

	local version = "0.0.0"

	if release == "stable" then

		version = versions#versions

	elseif release == "legacy" then

		version = versions#versions-1

	elseif release == "lts" then

		for i,v in ripairs(versions) do

			-- this might not be right.

			if p.islts(v) then

				version = v

			end

		end

	elseif release == "alpha" then

		-- alpha only works with "branch" output

		

		version = tonumber(p.branch(versions#versions]))+0.01

		if p.isthereabeta then

			version = version + 0.01

		end

		version = tostring(version)

	end



	local out = "WRONG"

	if format == "version" then

		out = version

	elseif format == "branch" then

		out = p.branch( version )

	elseif format == "git" then

		out = p.git_branch( version )

	elseif format == "date" then

		out = p.releasesversion

	end



	return out

end



return p

Videos

Youtube | Vimeo | Bing

Websites

Google | Yahoo | Bing

Encyclopedia

Google | Yahoo | Bing

Facebook