Module:Lily/Arguments

From About PCs Wiki
Jump to navigation Jump to search

Invoke procedure proc: {{#invoke:Lily|proc}} · use module: local t = require('Module:Lily')

Subpages

Module Usage


--[[
	Lily's subroutints
	usage: local t = require('Module:Lily/Arguments')
]]

local p = { }

function p.tidy( val)
	-- return false when emptiy: '' ist nicht false!
	if type(val) == 'string' then
		val = val:match('^%s*(.-)%s*$')
		if val == '' then
			return false
		else
			return val
		end
	else
		return val
	end
end

function p.checkemptystring(val)
	if type(val) == 'string' then
		if val:find('%S') then
			return val
		else
			return false
		end
	else
		return val
	end
end

function p.matchesTitle(given, title)
	local tp = type( given )
	return (tp == 'string' or tp == 'number') and mw.title.new( given ).prefixedText == title
end

function p.trim(s)
  -- entfernt Weißraum an den beiden Enden des Strings
  if type(s) ~= 'string' then return s end  -- falls kein string
  return s:match("^%s*(.-)%s*$")
end

function p.empty (x)
--[[
	es gibt keine eingebaute Funktion, um zu überprüfen, ob eine Tabelle leer ist
	diese Funktion liefert true, wenn die Tabelle leer ist
	hilfreich bei frame.args oder frame:parent().args etc.
]]

    for _, _ in pairs(x) do
        return false
    end
    return true
end

function p.gibts(name, namespace)
	-- liefert true, wenn die Wikiseite "name" im namespace "namespace" existiert
	-- default namespace ist main
	local name = name
	local space = namespace or ''
  
	if space ~= '' then space = space .. ':' end
  
	local titel = mw.title.new(space .. name)

	if titel.exists then return titel end
	return false
end

return p