webmcp
annotate framework/env/locale/do_with.lua @ 214:6ac7133bb58e
Work on Moonbridge integration: added execute._initializers(...), new function request.get_param{...}; Code cleanup in mcp.lua and tempstore.save(...)
| author | jbe | 
|---|---|
| date | Sat Jan 10 10:44:17 2015 +0100 (2015-01-10) | 
| parents | 9fdfb27f8e67 | 
| children | c3d539e33710 | 
| 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/bsw@0 | 14 local old_data = {} | 
| jbe/bsw@0 | 15 for key, value in pairs(locale._current_data) do | 
| jbe/bsw@0 | 16 old_data[key] = value | 
| jbe/bsw@0 | 17 end | 
| jbe/bsw@0 | 18 locale.set(locale_options) | 
| jbe/bsw@0 | 19 block() | 
| jbe/bsw@0 | 20 old_data.reset = true | 
| jbe/bsw@0 | 21 locale.set(old_data) | 
| jbe/bsw@0 | 22 end |