Use class.mro() instead of custom base_class finder code

pull/4420/head
Toshio Kuratomi 2015-03-23 16:14:34 -07:00
parent ede94dd7f8
commit fdf51e9a96
1 changed files with 1 additions and 11 deletions

View File

@ -97,17 +97,7 @@ class Base:
def munge(self, ds): def munge(self, ds):
''' infrequently used method to do some pre-processing of legacy terms ''' ''' infrequently used method to do some pre-processing of legacy terms '''
def _get_base_classes_munge(target_class): for base_class in self.__class__.mro():
base_classes = list(target_class.__bases__[:])
for base_class in target_class.__bases__:
base_classes.extend( _get_base_classes_munge(base_class))
return base_classes
base_classes = list(self.__class__.__bases__[:])
for base_class in self.__class__.__bases__:
base_classes.extend(_get_base_classes_munge(base_class))
for base_class in base_classes:
method = getattr(self, "_munge_%s" % base_class.__name__.lower(), None) method = getattr(self, "_munge_%s" % base_class.__name__.lower(), None)
if method: if method:
return method(ds) return method(ds)