Zum Inhalt springen

„Modul:FileUtil“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
"FileUtil" enthält Funktionen, die das Arbeiten mit Mediendateien erleichtern
 
allow "parameter" without "value"
Zeile 1: Zeile 1:
--[[ MediaUtil
--[=[ MediaUtil
Utilities for handling of media files, e.g. images, videos, ...
Utilities for handling of media files, e.g. images, videos, ...
* addParameter()
* addParameter()
* replaceParameter()
* replaceParameter()
]]
]=]


-- table for export
-- table for export
local FileUtil = {}
local FileUtil = {}


FileUtil.addParameter = function ( file, parameter, value )
FileUtil.addParameter = function ( file, parameter, value ) -- "value" is optional (default: "nil")
return FileUtil.replaceParameter( file, parameter, value , false)
return FileUtil.replaceParameter( file, parameter, value , false)
end -- FileUtil.addParameter()
end


FileUtil.replaceParameter = function ( file, parameter, value , replace) -- "replace" is optional (default: "true")
FileUtil.replaceParameter = function ( file, parameter, value , replace) -- "value" is optional (default: "nil")
-- "replace" is optional (default: "true")
local replace = (replace == Nil or replace == true)
local replace = (replace == Nil or replace == true)
if type( file ) == "string" then
if type( file ) == "string" then
local fileNew,n = file:gsub('|%s*'..parameter..'%s*=%s*[^|%]]*%s*([|%]])','%1')
local fileNew,n = file:gsub('|%s*'..parameter..'%s*[^|%]]*%s*([|%]])','%1')
if n==0 or replace then
if n==0 or replace then
fileNew = fileNew:gsub('(%]%])','|'..parameter..'='..value..']]')
if value then
fileNew = fileNew:gsub('(%]%])','|'..parameter..'='..value..']]')
return fileNew
else
fileNew = fileNew:gsub('(%]%])','|'..parameter..']]')
end
return fileNew
else
else
return file
return file
end
end
end
end
return false
return false
end -- FileUtil.replaceParameter()
end





Version vom 13. August 2013, 21:28 Uhr

Vorlagenprogrammierung Diskussionen Lua Test Unterseiten
Modul Deutsch English

Modul: Dokumentation

Diese Seite enthält Code in der Programmiersprache Lua. Einbindungszahl Cirrus


--[=[ 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 = file:gsub('|%s*'..parameter..'%s*[^|%]]*%s*([|%]])','%1')
        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()



-- Provide template access and expose URLutil table to require
local p = {}

function p.addParameter( frame )
    return FileUtil.addParameter( frame.args[1],frame.args[2],frame.args[3] ) or ""
end
function p.replaceParameter( frame )
    return FileUtil.replaceParameter( frame.args[1],frame.args[2],frame.args[3] ) or ""
end
function p.FileUtil()
    return FileUtil
end

return p