webmcp

annotate framework/env/__init.lua @ 466:2751b6b81c23

Minor efficiency enhancement in <db_object>:try_save() method
author jbe
date Mon Nov 07 19:32:51 2016 +0100 (2016-11-07)
parents 2b5bdf9028fb
children 7eec5b604b00
rev   line source
jbe@324 1 --[[--
jbe@324 2 translated_string = -- translated string
jbe@324 3 _(
jbe@324 4 string_to_translate, -- string to translate
jbe@324 5 {
jbe@324 6 placeholder_name1 = text1, -- replace all occurrences of "#{placeholder_name1}" with the string text1
jbe@324 7 placeholder_name2 = text2, -- replace all occurrences of "#{placeholder_name2}" with the string text2
jbe@324 8 ...
jbe@324 9 }
jbe@324 10 )
jbe@324 11
jbe@325 12 Translation function for localization. The "_" function translates a given string to the currently selected language (see locale.set{...}). If the translated string contains placeholders in the form #{name}, then those placeholders may be automatically replaced with a corresponding substring which is taken from the table passed as optional second argument.
jbe@325 13
jbe@325 14 Hint: Lua's syntax rules allow to write _"text" as a shortcut for _("text"), or _'text' instead of _('text') respectivly.
jbe@324 15
jbe@324 16 --]]--
jbe@324 17
jbe@324 18 function _G._(text, replacements)
jbe/bsw@0 19 local text = locale._get_translation_table()[text] or text
jbe/bsw@0 20 if replacements then
jbe/bsw@0 21 return (
jbe/bsw@0 22 string.gsub(
jbe/bsw@0 23 text,
jbe/bsw@0 24 "#{(.-)}",
jbe/bsw@0 25 function (placeholder)
jbe/bsw@0 26 return replacements[placeholder]
jbe/bsw@0 27 end
jbe/bsw@0 28 )
jbe/bsw@0 29 )
jbe/bsw@0 30 else
jbe/bsw@0 31 return text
jbe/bsw@0 32 end
jbe/bsw@0 33 end
jbe@324 34 --//--
jbe@203 35
jbe@203 36 --[[--
jbe@203 37 cloned_table = -- newly generated table
jbe@203 38 table.new(
jbe@203 39 table_or_nil -- keys of a given table will be copied to the new table
jbe@203 40 )
jbe@203 41
jbe@203 42 If a table is given, then a cloned table is returned.
jbe@203 43 If nil is given, then a new empty table is returned.
jbe@203 44
jbe@203 45 --]]--
jbe@203 46 function table.new(tbl)
jbe@240 47 local new_tbl = {}
jbe@203 48 if tbl then
jbe@203 49 for key, value in pairs(tbl) do
jbe@203 50 new_tbl[key] = value
jbe@203 51 end
jbe@203 52 end
jbe@203 53 return new_tbl
jbe@203 54 end
jbe@203 55 --//--
jbe@203 56
jbe@352 57 -- load libraries
jbe@352 58 -- (except "extos", which has to be loaded earlier, and "multirand", which must be loaded after forking)
jbe@324 59 _G.nihil = require 'nihil'
jbe@324 60 _G.mondelefant = require 'mondelefant'
jbe@324 61 _G.atom = require 'atom'
jbe@324 62 _G.json = require 'json'
jbe@203 63 require 'mondelefant_atom_connector'
jbe@286 64 -- NOTE: "multirand" library is loaded in mcp.lua after forking
jbe@203 65
jbe@295 66 -- setup mondelefant
jbe@295 67 mondelefant.connection_prototype.error_objects = true
jbe@295 68 function mondelefant.connection_prototype:sql_tracer(command)
jbe@295 69 if trace.is_disabled() then
jbe@295 70 return
jbe@295 71 end
jbe@295 72 local start_time = extos.monotonic_hires_time()
jbe@295 73 return function(error_info)
jbe@295 74 trace.sql{
jbe@295 75 command = command,
jbe@295 76 execution_time = extos.monotonic_hires_time() - start_time,
jbe@295 77 error_position = error_info and error_info.position or nil
jbe@295 78 }
jbe@295 79 end
jbe@295 80 end
jbe@295 81
jbe@206 82 --[[--
jbe@206 83 config -- table to store application configuration
jbe@206 84
jbe@206 85 'config' is a global table, which can be modified by a config file of an application to modify the behaviour of that application.
jbe@206 86 --]]--
jbe@324 87 _G.config = {}
jbe@206 88 --//--
jbe@206 89

Impressum / About Us