Modul:Benutzer:Patrick87
Die Dokumentation für dieses Modul kann unter Modul:Benutzer:Patrick87/Doku erstellt werden
local URLutil = {}
URLutil.getURIScheme = function ( uri )
if type( uri ) == "string" then
local prot, colon, slashes = uri:match( "^%s*([a-zA-Z]*)(:?)(/?/?)" )
if #colon == 1 and #prot >= 2 then
return prot:lower()
elseif #slashes == 2 and #prot == 0 then
return "//"
end
end
return false
end
local FileUtil = {}
FileUtil.addParameter = function ( file, parameter, value ) -- "value" is optional (default: "nil")
return FileUtil.replaceParameter( file, parameter, value , false)
end -- FileUtil.addParameter()
FileUtil.replaceParameter = function ( file, parameter, value , replace) -- "value" is optional (default: "nil")
-- "replace" is optional (default: "true")
local replace = (replace == Nil or replace == true)
if type( file ) == "string" then
local fileNew,n = FileUtil.removeParameter(file, parameter)
if n==0 or replace then
if value then
fileNew = fileNew:gsub('(%]%])','|'..parameter..'='..value..']]')
else
fileNew = fileNew:gsub('(%]%])','|'..parameter..']]')
end
return fileNew
else
return file
end
end
return false
end -- FileUtil.replaceParameter()
FileUtil.removeParameter = function ( file, parameter )
if type( file ) == "string" then
local fileNew,n = file:gsub('|%s*'..parameter..'%s*[^|%]]*%s*([|%]])','%1')
return fileNew,n
end
return false
end -- FileUtil.removeParameter()
local p = {}
function p.getURIScheme( frame )
return URLutil.getURIScheme( frame.args[1] ) or ""
end
function p.URLutil()
return URLutil
end
function p.addParameter( frame )
return FileUtil.addParameter( frame.args[1] or frame.args["file"],
frame.args[2] or frame.args["parameter"],
frame.args[3] or frame.args["value"]) or ""
end
function p.replaceParameter( frame )
return FileUtil.replaceParameter( frame.args[1] or frame.args["file"],
frame.args[2] or frame.args["parameter"],
frame.args[3] or frame.args["value"]) or ""
end
function p.removeParameter( frame )
return FileUtil.removeParameter( frame.args[1] or frame.args["file"],
frame.args[2] or frame.args["parameter"]) or ""
end
function p.FileUtil()
return FileUtil
end
return p