From 0d2d08472aa09dd001b532698e04b0f02e0a44c6 Mon Sep 17 00:00:00 2001 From: Robin Krahl Date: Sat, 1 Nov 2014 15:25:00 +0100 Subject: Use improved string formatting Use string formatting by name instead of formatting by position when creating the file description. - adds the method `formatString` to `MediaWikiUtils` - modifies `MediaWikiInterface` to use `MediaWikiUtils.formatString` See issue [#29: Move file description template into a file and improve the string formatting](https://github.com/ireas/LrMediaWiki/issues/29). --- mediawiki.lrdevplugin/MediaWikiUtils.lua | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'mediawiki.lrdevplugin/MediaWikiUtils.lua') diff --git a/mediawiki.lrdevplugin/MediaWikiUtils.lua b/mediawiki.lrdevplugin/MediaWikiUtils.lua index 00dd46d..0eeb7a9 100644 --- a/mediawiki.lrdevplugin/MediaWikiUtils.lua +++ b/mediawiki.lrdevplugin/MediaWikiUtils.lua @@ -5,9 +5,9 @@ -- Copyright (C) 2014 by the LrMediaWiki team (see CREDITS.txt file in the -- project root directory or [2]) -- --- [0] +-- [0] -- [1] --- [2] +-- [2] -- Code status: -- doc: missing @@ -17,6 +17,13 @@ local Info = require 'Info' local MediaWikiUtils = {} +-- Allows formatting of strings like "${test} eins zwei drei ${test2}" +-- Based on a solution by http://lua-users.org/wiki/RiciLake shown here: +-- http://lua-users.org/wiki/StringInterpolation +MediaWikiUtils.formatString = function(str, arguments) + return (str:gsub('($%b{})', function(w) return arguments[w:sub(3, -2)] or w end)) +end + MediaWikiUtils.isStringEmpty = function(str) return str == nil or string.match(str, '^%s*$') ~= nil end -- cgit v1.2.1