/* * Created by PyramIDE. * User: Totoro * Date: 07/02/2014 * Time: 21:43 */ transmit tools/basis.anubis transmit calexium_lib/web/CXM_common.anubis transmit calexium_lib/database/db_types.anubis public define Maybe(DB_id) get_mb_DB_id ( List(Web_arg) lwa, String arg_name ) = if web_arg_value(lwa, arg_name) is { not_found then failure, found(value) then //Check if value is none which means no id provided if value="none" then success(none) else //Now try to convert the string into Int to get the id if decimal_scan(value) is { failure then success(none), success(_value) then success(db_id(_value)) } } . public define DB_id get_DB_id ( List(Web_arg) lwa, String arg_name ) = if get_mb_DB_id(lwa, arg_name) is { failure then none, success(value) then value } . public define Maybe(DB_date) get_DB_date ( List(Web_arg) lwa, String arg_name ) = if web_arg_value(lwa, arg_name) is { not_found then failure, found(value) then success(db_date(value)) }. public define Maybe(DB_time) get_DB_time ( List(Web_arg) lwa, String arg_name ) = if web_arg_value(lwa, arg_name) is { not_found then failure, found(value) then success(db_time(value)) }. public define Maybe(DB_datetime) get_DB_datetime ( List(Web_arg) lwa, String arg_name ) = if web_arg_value(lwa, arg_name) is { not_found then failure, found(value) then success(db_datetime(value)) }. public define Maybe(String) get_String ( List(Web_arg) lwa, String arg_name ) = if web_arg_value(lwa, arg_name) is { not_found then failure, found(value) then success(value) }. public define String get_String ( List(Web_arg) lwa, String arg_name, String default_value ) = if get_String(lwa, arg_name) is { failure then default_value success(value) then value }. public define List(String) get_String_list ( List(Web_arg) l, String name ) = if l is { [] then [], [h . t] then if h is web_arg(n, v) then if n = name then [ v . get_String_list(t, name)] else get_String_list(t, name) else get_String_list(t, name) } . public define Maybe(String) get_Password ( List(Web_arg) lwa, String pwd_1_name, String pwd_2_name )= if get_String(lwa, pwd_1_name) is { failure then failure, success(password1) then if get_String(lwa, pwd_2_name) is { failure then failure success(password2) then if password1 = password2 then success(password1) else failure } } . public define Maybe(Bool) get_mb_Bool ( List(Web_arg) lwa, String arg_name ) = if web_arg_value(lwa, arg_name) is { not_found then failure, found(value) then success(to_Bool(value)) }. public define Bool get_Bool ( List(Web_arg) lwa, String arg_name ) = if web_arg_value(lwa, arg_name) is { not_found then false, found(value) then to_Bool(value) }. public define Bool get_Bool ( List(Web_arg) lwa, String arg_name, Bool default_value ) = if web_arg_value(lwa, arg_name) is { not_found then default_value, found(_) then true }. public define Maybe(Bool) get_Bool ( List(Web_arg) lwa, String arg_name ) = if web_arg_value(lwa, arg_name) is { not_found then success(false), found(_) then success(true) }. public define Maybe(Int) get_Int ( List(Web_arg) lwa, String name ) = if web_arg_value(lwa, name) is { not_found then /*logDebug(debug_log, "Can't find argument '" + name + "'");*/ failure found(str) then if str = "" then failure else decimal_scan(str) }. public define Int get_Int ( List(Web_arg) lwa, String name, Int default_value ) = if get_Int(lwa, name) is { failure then default_value, success(value) then value }. public define Maybe(Int) get_Int ( List(Web_arg) lwa, String name, Int min, Int max, ) = if get_Int(lwa, name) is { failure then /*logDebug(debug_log, "Can't convert argument '" + name + "' to integer.");*/ failure success(value) then if (value < min) | (value > max) then /*logDebug(debug_log, "The entered value (" + val + ")is out of boundaries [" + min + "," + max + "].");*/ failure else success(value) }. public define Int get_Int ( List(Web_arg) lwa, String name, Int min, Int max, Int default_value ) = if get_Int(lwa, name, min, max) is { failure then default_value, success(value) then value }. public define List(Int) get_Int_list ( List(Web_arg) l, String name ) = if l is { [] then [], [h . t] then if h is web_arg(n, v) then if n = name then //println("matching int name "+name+" value "+v); if decimal_scan(v) is { failure then get_Int_list(t, name), success(value) then [ value . get_Int_list(t, name)] } else get_Int_list(t, name) else get_Int_list(t, name) } . public define Maybe(Float) get_Float ( List(Web_arg) lwa, String name ) = if web_arg_value(lwa, name) is { not_found then /*logDebug(debug_log, "Can't find argument '" + name + "'");*/ failure found(str) then if str = "" then failure else string_to_float(str) }. public define Float get_Float ( List(Web_arg) lwa, String name, Float default_value ) = if get_Float(lwa, name) is { failure then default_value, success(value) then value }. public define Maybe(Word32) get_Word32 ( List(Web_arg) lwa, String name ) = if get_Int(lwa, name) is { failure then failure, success(int_val) then success(truncate_to_Word32(int_val)) }. public define Word32 get_Word32 ( List(Web_arg) lwa, String name, Word32 default_value ) = if get_Word32(lwa, name) is { failure then /*logDebug(debug_log, "Can't convert argument '" + name + "' to integer.");*/ default_value, success(value) then value }. public define Maybe(Word32) get_Word32 ( List(Web_arg) lwa, String name, Word32 min, Word32 max, ) = if get_Word32(lwa, name) is { failure then failure success(value) then if value +< min | value >+ max then failure else success(value) }. public define Word32 get_Word32 ( List(Web_arg) lwa, String name, Word32 min, Word32 max, Word32 default_value ) = if get_Word32(lwa, name, min, max) is { failure then default_value, success(value) then value }. public define Maybe(Word8) get_Word8 ( List(Web_arg) lwa, String name ) = if get_Int(lwa, name) is { failure then failure, success(int_val) then success(truncate_to_Word8(int_val)) }. public define Maybe(Word8) get_Word8 ( List(Web_arg) lwa, String name, Word8 min, Word8 max, ) = if get_Word8(lwa, name) is { failure then failure success(value) then if value +< min | value >+ max then failure else success(value) }. public define Word8 get_Word8 ( List(Web_arg) lwa, String name, Word8 min, Word8 max, Word8 default_value ) = if get_Word8(lwa, name, min, max) is { failure then default_value, success(value) then value }.