示例#1
0
    def get_plan_from_query(self, init_state, domain_name, objects,
                            pred_type_mapping, action_parameters):

        f = open(Q_DOMAIN_FILE, "w")
        self.write_query_to_file(f, domain_name, objects, pred_type_mapping,
                                 action_parameters)
        f.close()

        f = open(Q_PROBLEM_FILE, "w")
        FileUtils.writeProblemToFile(self, f, domain_name, domain_name + "-1",
                                     True, objects, pred_type_mapping)
        f.close()

        self.call_planner(Q_DOMAIN_FILE, Q_PROBLEM_FILE, Q_RESULT_FILE)
        self.plan = FileUtils.get_plan_from_file(Q_RESULT_FILE)
        planRaw = self.plan

        if len(planRaw) != 0:
            f = open(Q_PLAN_FILE, "w")
            FileUtils.writePlanToFile(self, f, init_state, domain_name,
                                      domain_name + "-1", objects)
            f.close()

        return planRaw