EmbASP-Python
plan.py
1 from .action import Action
2 from base.output import Output
3 from languages.pddl.pddl_mapper import PDDLMapper
4 from abc import ABCMeta
5 
6 
7 class Plan(Output):
8  """A simplified solution to a PDDL problem."""
9  __metaclass__ = ABCMeta
10 
11  def __init__(self, plan, error):
12  super(Plan, self).__init__(plan, error)
13  self._action_sequence = None
14  self.__actions_objects = None
15 
16  def get_actions(self):
17  """Returns a set of Actions."""
18  if self._action_sequence is None:
19  self._action_sequence = list()
20  self._parse()
21  return self._action_sequence
22 
24  """Returns a set of Objects representing Actions."""
25  if self.__actions_objects is None:
26  self.__actions_objects = list()
27  mapper = PDDLMapper.get_instance()
28  for a in self.get_actions():
29  obj = mapper.get_object(a.get_name())
30  if obj is not None:
31  self.__actions_objects.append(obj)
32  return self.__actions_objects
33 
34  def store_action(self, action):
35  self._action_sequence.append(Action(action))
languages.pddl.action.Action
Definition: action.py:1
languages.pddl.pddl_mapper
Definition: pddl_mapper.py:1
base.output.Output
Definition: output.py:1
languages.pddl.plan.Plan._action_sequence
_action_sequence
Definition: plan.py:13
base.output
Definition: output.py:1
languages.pddl.plan.Plan.get_actions_objects
def get_actions_objects(self)
Definition: plan.py:23
base.output.Output._parse
def _parse(self)
Definition: output.py:24
languages.pddl.plan.Plan.get_actions
def get_actions(self)
Definition: plan.py:16
languages.pddl.plan.Plan.__actions_objects
__actions_objects
Definition: plan.py:14
languages.pddl.plan.Plan
Definition: plan.py:7