webmcp

annotate framework/env/locale/do_with.lua @ 401:ad437022be90

Quick fix to avoid problems on document creation
author jbe
date Mon Jan 04 00:48:47 2016 +0100 (2016-01-04)
parents c3d539e33710
children
rev   line source
jbe/bsw@0 1 --[[--
jbe/bsw@0 2 locale.do_with(
jbe/bsw@0 3 locale_options, -- table with locale information (as if passed to locale.set(...))
jbe/bsw@0 4 function()
jbe/bsw@0 5 ... -- code to be executed with the given locale settings
jbe/bsw@0 6 end
jbe/bsw@0 7 )
jbe/bsw@0 8
jbe/bsw@0 9 This function executes code with temporarily changed locale settings. See locale.set(...) for correct usage of 'locale_options'.
jbe/bsw@0 10
jbe/bsw@0 11 --]]--
jbe/bsw@0 12
jbe/bsw@0 13 function locale.do_with(locale_options, block)
jbe@262 14 local old_data = table.new(locale._current_data)
jbe@262 15 if locale_options.reset then
jbe@262 16 locale._current_data = {}
jbe@262 17 end
jbe@262 18 for key, value in pairs(locale_options) do
jbe@262 19 if key ~= "reset" then
jbe@262 20 locale._current_data[key] = value
jbe@262 21 end
jbe/bsw@0 22 end
jbe/bsw@0 23 locale.set(locale_options)
jbe/bsw@0 24 block()
jbe@262 25 locale._current_data = old_data
jbe/bsw@0 26 end

Impressum / About Us