Skip to content

Commit b8d45b9

Browse files
author
Michael Koval
committed
Revert "Removed default methods on MetaPlanner."
This reverts commit 7d708dd.
1 parent 5593f29 commit b8d45b9

File tree

1 file changed

+16
-23
lines changed

1 file changed

+16
-23
lines changed

src/prpy/planning/base.py

Lines changed: 16 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -125,9 +125,23 @@ def __init__(self):
125125
class MetaPlanner(Planner):
126126
__metaclass__ = abc.ABCMeta
127127

128-
@abc.abstractmethod
128+
def __init__(self):
129+
super(MetaPlanner, self).__init__()
130+
self._planners = list()
131+
132+
def has_planning_method(self, method_name):
133+
for planner in self._planners:
134+
if planner.has_planning_method(method_name):
135+
return True
136+
137+
return False
138+
129139
def get_planning_method_names(self):
130-
pass
140+
method_names = set()
141+
for planner in self._planners:
142+
method_names.update(planner.get_planning_method_names())
143+
144+
return list(method_names)
131145

132146
@abc.abstractmethod
133147
def get_planners(self, method_name):
@@ -210,13 +224,6 @@ def __init__(self, *planners):
210224
def __str__(self):
211225
return 'Sequence({:s})'.format(', '.join(map(str, self._planners)))
212226

213-
def get_planning_method_names(self):
214-
method_names = set()
215-
for planner in self._planners:
216-
method_names.update(planner.get_planning_method_names())
217-
218-
return list(method_names)
219-
220227
def get_planners(self, method_name):
221228
return [planner for planner in self._planners
222229
if planner.has_planning_method(method_name)]
@@ -261,13 +268,6 @@ def __init__(self, *planners):
261268
def __str__(self):
262269
return 'Ranked({0:s})'.format(', '.join(map(str, self._planners)))
263270

264-
def get_planning_method_names(self):
265-
method_names = set()
266-
for planner in self._planners:
267-
method_names.update(planner.get_planning_method_names())
268-
269-
return list(method_names)
270-
271271
def get_planners(self, method_name):
272272
return [planner for planner in self._planners
273273
if planner.has_planning_method(method_name)]
@@ -338,13 +338,6 @@ def __init__(self, *planners):
338338
def __str__(self):
339339
return 'Fallback({:s})'.format(', '.join(map(str, self._planners)))
340340

341-
def get_planning_method_names(self):
342-
method_names = set()
343-
for planner in self._planners:
344-
method_names.update(planner.get_planning_method_names())
345-
346-
return list(method_names)
347-
348341
def get_planners(self, method_name):
349342
return [planner for planner in self._planners
350343
if planner.has_planning_method(method_name)]

0 commit comments

Comments
 (0)