1#!/usr/bin/env python 2 3r""" 4This module is the python counterpart to run_keyword.robot. 5""" 6 7import gen_print as gp 8import gen_robot_print as grp 9import gen_robot_valid as grv 10 11from robot.libraries.BuiltIn import BuiltIn 12 13 14############################################################################### 15def main_py(): 16 17 r""" 18 Do main program processing. 19 """ 20 21 setup() 22 23 keyword_string = BuiltIn().get_variable_value("${keyword_string}") 24 lib_file_path = BuiltIn().get_variable_value("${lib_file_path}") 25 26 cmd_buf = keyword_string.split(" ") 27 28 if lib_file_path != "": 29 # We don't want global variable getting changed when an import is done 30 # so we'll save it and restore it. 31 quiet = int(BuiltIn().get_variable_value("${quiet}")) 32 if lib_file_path.endswith(".py"): 33 grp.rdprint_issuing("import_library(\"" + lib_file_path + "\")") 34 BuiltIn().import_library(lib_file_path) 35 else: 36 grp.rdprint_issuing("import_resource(\"" + lib_file_path + "\")") 37 BuiltIn().import_resource(lib_file_path) 38 BuiltIn().set_global_variable("${quiet}", quiet) 39 40 error_message = grp.sprint_error_report("Keyword \"" + cmd_buf[0] + 41 "\" does not exist.\n") 42 BuiltIn().keyword_should_exist(cmd_buf[0], msg=error_message) 43 44 grp.rqprint_issuing_keyword(cmd_buf) 45 status, output = BuiltIn().run_keyword_and_ignore_error(*cmd_buf) 46 if status != "PASS": 47 error_message = grp.sprint_error_report("\"" + cmd_buf[0] + 48 "\" failed with the" + 49 " following error:\n" + output) 50 if not quiet: 51 grp.rprint(error_message, 'STDERR') 52 BuiltIn().fail(error_message) 53 54 if output is not None: 55 grp.rprint(output) 56 57############################################################################### 58 59 60############################################################################### 61def setup(): 62 63 r""" 64 Do general program setup tasks. 65 """ 66 67 grp.rqprintn() 68 69 validate_parms() 70 71 grp.rqprint_pgm_header() 72 73############################################################################### 74 75 76############################################################################### 77def validate_parms(): 78 79 r""" 80 Validate all program parameters. 81 """ 82 83 grv.rvalid_value("keyword_string") 84 85 return True 86 87############################################################################### 88 89 90############################################################################### 91def program_teardown(): 92 93 r""" 94 Clean up after this program. 95 """ 96 97 grp.rqprint_pgm_footer() 98 99############################################################################### 100