def perform_function_code(self): logger.info(Function.perform_function_code.__name__+" PERFORMING FUNCTION: "+ self.name) for directory in self.root.get_directory_children(): logger.debug(Function.perform_function_code.__name__+" FUN COMMAND AT "+ self.name+ directory.path) commands.expression(directory) if self.return_val_id is not None: return self.find_var_by_name(self.return_val_id)[1]
def _if(directory): if not 3 >= directory.dirlen() >= 2: error_factory.ErrorFactory.invalid_command_dir_number( [2, 3], directory.path, directory.dirlen(), "IF") if parse_value(directory.navigate_to_nth_child(0), Types.boolean, 1): logger.debug(_if.__name__ + ": true execution") root = Directory(directory.navigate_to_nth_child(1).path) for directory in root.get_directory_children(): logger.debug(_if.__name__ + ": COMPLEX TRUE " + directory.path) commands.expression(directory) elif directory.dirlen() == 3: logger.debug(_if.__name__ + ": false execution") root = Directory(directory.navigate_to_nth_child(2).path) for directory in root.get_directory_children(): logger.debug(_if.__name__ + ": COMPLEX FALSE " + directory.path) commands.expression(directory)
def execute_all_loop_commands(root): for commands_dir in root.get_directory_children(): logger.debug(execute_all_loop_commands.__name__ + " COMPLEX WHEN command at " + commands_dir.path) commands.expression(commands_dir)