webmcp
annotate framework/env/convert/to_human.lua @ 28:ea2e8f3a2776
allow webmcp path to be set in cgi script
this allows another script to include the webmcp script when the cwd is not the cgi-bin. the script needs to set the WEBMCP_PATH variable.
this allows another script to include the webmcp script when the cwd is not the cgi-bin. the script needs to set the WEBMCP_PATH variable.
author | Daniel Poelzleithner <poelzi@poelzi.org> |
---|---|
date | Sun Sep 19 01:36:08 2010 +0200 (2010-09-19) |
parents | 9fdfb27f8e67 |
children |
rev | line source |
---|---|
jbe/bsw@0 | 1 function convert.to_human(value, typ) |
jbe/bsw@0 | 2 if value == nil then return "" end -- TODO: is this correct? |
jbe/bsw@0 | 3 if typ and not atom.has_type(value, typ) then |
jbe/bsw@0 | 4 error("The value passed to convert.to_human(...) has not the specified type.") |
jbe/bsw@0 | 5 end |
jbe/bsw@0 | 6 local type_symbol |
jbe/bsw@0 | 7 local value_type = type(value) |
jbe/bsw@0 | 8 if value_type ~= "table" and value_type ~= "userdata" then |
jbe/bsw@0 | 9 type_symbol = value_type |
jbe/bsw@0 | 10 else |
jbe/bsw@0 | 11 type_symbol = convert._type_symbol_mappings[getmetatable(value)] |
jbe/bsw@0 | 12 end |
jbe/bsw@0 | 13 if not type_symbol then |
jbe/bsw@0 | 14 error("Unrecognized type reference occurred in convert.to_human(...).") |
jbe/bsw@0 | 15 end |
jbe/bsw@0 | 16 local converter = convert["_from_" .. type_symbol .. "_to_human"] |
jbe/bsw@0 | 17 if not converter then |
jbe/bsw@0 | 18 error("Type reference in convert.from_human(...) could be recognized, but the converter function is not existent.") |
jbe/bsw@0 | 19 end |
jbe/bsw@0 | 20 return converter(value) |
jbe/bsw@0 | 21 end |