| #!/usr/bin/env python |
| |
| r""" |
| This module is the python counterpart to run_keyword.robot. |
| """ |
| |
| import gen_print as gp |
| import gen_robot_print as grp |
| import gen_robot_valid as grv |
| |
| from robot.libraries.BuiltIn import BuiltIn |
| |
| |
| ############################################################################### |
| def main_py(): |
| |
| r""" |
| Do main program processing. |
| """ |
| |
| setup() |
| |
| keyword_string = BuiltIn().get_variable_value("${keyword_string}") |
| lib_file_path = BuiltIn().get_variable_value("${lib_file_path}") |
| |
| cmd_buf = keyword_string.split(" ") |
| |
| if lib_file_path != "": |
| # We don't want global variable getting changed when an import is done |
| # so we'll save it and restore it. |
| quiet = int(BuiltIn().get_variable_value("${quiet}")) |
| if lib_file_path.endswith(".py"): |
| grp.rdprint_issuing("import_library(\"" + lib_file_path + "\")") |
| BuiltIn().import_library(lib_file_path) |
| else: |
| grp.rdprint_issuing("import_resource(\"" + lib_file_path + "\")") |
| BuiltIn().import_resource(lib_file_path) |
| BuiltIn().set_global_variable("${quiet}", quiet) |
| |
| error_message = grp.sprint_error_report("Keyword \"" + cmd_buf[0] + |
| "\" does not exist.\n") |
| BuiltIn().keyword_should_exist(cmd_buf[0], msg=error_message) |
| |
| grp.rqprint_issuing_keyword(cmd_buf) |
| status, output = BuiltIn().run_keyword_and_ignore_error(*cmd_buf) |
| if status != "PASS": |
| error_message = grp.sprint_error_report("\"" + cmd_buf[0] + |
| "\" failed with the" + |
| " following error:\n" + output) |
| if not quiet: |
| grp.rprint(error_message, 'STDERR') |
| BuiltIn().fail(error_message) |
| |
| if output is not None: |
| grp.rprint(output) |
| |
| ############################################################################### |
| |
| |
| ############################################################################### |
| def setup(): |
| |
| r""" |
| Do general program setup tasks. |
| """ |
| |
| grp.rqprintn() |
| |
| validate_parms() |
| |
| grp.rqprint_pgm_header() |
| |
| ############################################################################### |
| |
| |
| ############################################################################### |
| def validate_parms(): |
| |
| r""" |
| Validate all program parameters. |
| """ |
| |
| grv.rvalid_value("keyword_string") |
| |
| return True |
| |
| ############################################################################### |
| |
| |
| ############################################################################### |
| def program_teardown(): |
| |
| r""" |
| Clean up after this program. |
| """ |
| |
| grp.rqprint_pgm_footer() |
| |
| ############################################################################### |