Modul:FileUtil
Dokumentation für das Modul FileUtil[Ansicht] [Bearbeiten] [Versionsgeschichte] [ ]
FileUtil
– Modul mit Funktionen, die das Arbeiten mit Mediendatein (z.B. Bilder, Videos, etc.) erleichtern sollen.
Funktionen für Vorlagen
- addParameter – fügt einer vorhandenen Medieneinbindung einen neuen Parameter hinzu.
- Parameter:
1
oderfile
– Die Medieneinbindung (z.B."[[Datei:Name.ext]]"
)2
oderparameter
– Neuer Parametername (z.B."link"
)3
odervalue
(optional) – Neuer Wert (z.B."Hauptseite"
)
- Rückgabewert:
- Eine neue Medieneinbindung mit hinzugefügtem Parameter (und Wert) (z.B.
[[Datei:Name.ext|link=Hauptseite]]
) - Die alte Medieneinbindung wenn der neue Parameter bereits vorhanden ist
- nichts – wenn Medieneinbindung unzulässig
- Eine neue Medieneinbindung mit hinzugefügtem Parameter (und Wert) (z.B.
- replaceParameter – fügt einer vorhandenen Medieneinbindung einen neuen Parameter hinzu bzw. ersetzt den Wert eines vorhandenen Parameters
- Parameter:
1
oderfile
– Die Medieneinbindung (z.B."[[Datei:Name.ext|parameter=alter Wert]]"
)2
oderparameter
– Neuer oder vorhandener Parametername (z.B."parameter"
)3
odervalue
(optional) – Neuer Wert (z.B."neuer Wert"
)
- Rückgabewert:
- Eine neue Medieneinbindung mit hinzugefügtem Parameter bzw. ersetztem Wert, (z.B.
[[Datei:Name.ext|parameter=neuer Wert]]
) - nichts – wenn Medieneinbindung unzulässig
- Eine neue Medieneinbindung mit hinzugefügtem Parameter bzw. ersetztem Wert, (z.B.
- removeParameter – entfernt einen Parameter aus einer vorhandenen Medieneinbindung
- Parameter:
1
oderfile
– Die Medieneinbindung (z.B."[[Datei:Name.ext|link=test]]"
)2
oderparameter
– Name des Parameters der entfernt werden soll (z.B."link"
)
- Rückgabewert:
- Eine neue Medieneinbindung mit entferntem Parameter (z.B.
[[Datei:Name.ext]]
) - nichts – wenn Medieneinbindung unzulässig
- Eine neue Medieneinbindung mit entferntem Parameter (z.B.
Beispiele (Testseite)
Hinweise
- Die obige Dokumentation wurde aus der Seite Modul:FileUtil/Doku eingefügt. (bearbeiten | Versionsgeschichte) Die Kategorien für dieses Modul sollten in der Dokumentation eingetragen werden. Die Interwiki-Links sollten auf Wikidata eingepflegt werden.
- Liste der Unterseiten
--[=[ MediaUtil
Utilities for handling of media files, e.g. images, videos, ...
* addParameter()
* replaceParameter()
]=]
-- table for export
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()
-- Provide template access and expose URLutil table to require
local p = {}
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