Skip to content

Commit 5593f29

Browse files
committed
Merge pull request #176 from personalrobotics/bugfix/158
Removed default methods on MetaPlanner.
2 parents b98b65c + 7d708dd commit 5593f29

File tree

1 file changed

+23
-16
lines changed

1 file changed

+23
-16
lines changed

src/prpy/planning/base.py

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

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-
128+
@abc.abstractmethod
139129
def get_planning_method_names(self):
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)
130+
pass
145131

146132
@abc.abstractmethod
147133
def get_planners(self, method_name):
@@ -224,6 +210,13 @@ def __init__(self, *planners):
224210
def __str__(self):
225211
return 'Sequence({:s})'.format(', '.join(map(str, self._planners)))
226212

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+
227220
def get_planners(self, method_name):
228221
return [planner for planner in self._planners
229222
if planner.has_planning_method(method_name)]
@@ -268,6 +261,13 @@ def __init__(self, *planners):
268261
def __str__(self):
269262
return 'Ranked({0:s})'.format(', '.join(map(str, self._planners)))
270263

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,6 +338,13 @@ 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+
341348
def get_planners(self, method_name):
342349
return [planner for planner in self._planners
343350
if planner.has_planning_method(method_name)]

0 commit comments

Comments
 (0)