示例#1
0
 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]
示例#2
0
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)
示例#3
0
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)