| #!/usr/bin/env python | 
 |  | 
 | r""" | 
 | This file contains functions useful for validating variables in robot. | 
 | """ | 
 |  | 
 | import gen_robot_print as grp | 
 | import gen_valid as gv | 
 |  | 
 | from robot.libraries.BuiltIn import BuiltIn | 
 | from robot.api import logger | 
 |  | 
 |  | 
 | ############################################################################### | 
 | def rvalid_value(var_name, | 
 |                  invalid_values=[], | 
 |                  valid_values=[]): | 
 |  | 
 |     r""" | 
 |     Validate a robot value. | 
 |  | 
 |     This function is the robot wrapper for gen_robot_print.svalid_value. | 
 |  | 
 |     Description of arguments: | 
 |     var_name                        The name of the variable whose value is to | 
 |                                     be validated. | 
 |     invalid_values                  A list of invalid values.  If var_value is | 
 |                                     equal to any of these, it is invalid. | 
 |                                     Note that if you specify anything for | 
 |                                     invalid_values (below), the valid_values | 
 |                                     list is not even processed. | 
 |     valid_values                    A list of invalid values.  var_value must | 
 |                                     be equal to one of these values to be | 
 |                                     considered valid. | 
 |  | 
 |     Examples of robot calls and corresponding output: | 
 |  | 
 |     Robot code... | 
 |     rvalid_value                    MY_PARM | 
 |  | 
 |     Output... | 
 |     #(CDT) 2016/11/02 10:04:20 - **ERROR** Variable "MY_PARM" not found (i.e. | 
 |     #it's undefined). | 
 |  | 
 |     or if it is defined but blank: | 
 |  | 
 |     Output... | 
 |     #(CDT) 2016/11/02 10:14:24 - **ERROR** The following variable has an | 
 |     #invalid value: | 
 |     MY_PARM: | 
 |  | 
 |     It must NOT be one of the following values: | 
 |     invalid_values: | 
 |       invalid_values[0]:         <blank> | 
 |  | 
 |     Robot code... | 
 |     ${invalid_values}=  Create List  one  two  three | 
 |     ${MY_PARM}=  Set Variable  one | 
 |     rvalid_value                    MY_PARM  invalid_values=${invalid_values} | 
 |  | 
 |     Output... | 
 |     #(CDT) 2016/11/02 10:20:05 - **ERROR** The following variable has an | 
 |     #invalid value: | 
 |     MY_PARM:                     one | 
 |  | 
 |     It must NOT be one of the following values: | 
 |     invalid_values: | 
 |         invalid_values[0]:       one | 
 |         invalid_values[1]:       two | 
 |         invalid_values[2]:       three | 
 |  | 
 |     """ | 
 |  | 
 |     # Note: get_variable_value() seems to have no trouble with local variables. | 
 |     var_value = BuiltIn().get_variable_value("${" + var_name + "}") | 
 |  | 
 |     if var_value is None: | 
 |         var_value = "" | 
 |         error_message = "Variable \"" + var_name +\ | 
 |                         "\" not found (i.e. it's undefined).\n" | 
 |     else: | 
 |         error_message = gv.svalid_value(var_value, invalid_values, | 
 |                                         valid_values, var_name) | 
 |     if not error_message == "": | 
 |         error_message = grp.sprint_error_report(error_message) | 
 |         BuiltIn().fail(error_message) | 
 |  | 
 | ############################################################################### | 
 |  | 
 |  | 
 | ############################################################################### | 
 | def rvalid_integer(var_name): | 
 |  | 
 |     r""" | 
 |     Validate a robot integer. | 
 |  | 
 |     This function is the robot wrapper for gen_robot_print.svalid_integer. | 
 |  | 
 |     Description of arguments: | 
 |     var_name                        The name of the variable whose value is to | 
 |                                     be validated. | 
 |  | 
 |     Examples of robot calls and corresponding output: | 
 |  | 
 |     Robot code... | 
 |     Rvalid Integer  MY_PARM | 
 |  | 
 |     Output... | 
 |     #(CDT) 2016/11/02 10:44:43 - **ERROR** Variable "MY_PARM" not found (i.e. | 
 |     #it's undefined). | 
 |  | 
 |     or if it is defined but blank: | 
 |  | 
 |     Output... | 
 |     #(CDT) 2016/11/02 10:45:37 - **ERROR** Invalid integer value: | 
 |     MY_PARM:                     <blank> | 
 |  | 
 |     Robot code... | 
 |     ${MY_PARM}=  Set Variable  HELLO | 
 |     Rvalid Integer  MY_PARM | 
 |  | 
 |     Output... | 
 |     #(CDT) 2016/11/02 10:46:18 - **ERROR** Invalid integer value: | 
 |     MY_PARM:                     HELLO | 
 |  | 
 |     """ | 
 |  | 
 |     # Note: get_variable_value() seems to have no trouble with local variables. | 
 |     var_value = BuiltIn().get_variable_value("${" + var_name + "}") | 
 |  | 
 |     if var_value is None: | 
 |         var_value = "" | 
 |         error_message = "Variable \"" + var_name +\ | 
 |                         "\" not found (i.e. it's undefined).\n" | 
 |     else: | 
 |         error_message = gv.svalid_integer(var_value, var_name) | 
 |     if not error_message == "": | 
 |         error_message = grp.sprint_error_report(error_message) | 
 |         BuiltIn().fail(error_message) | 
 |  | 
 | ############################################################################### |