def METHOD_NAME(self, suffix='.xml'):
    """Iterator for block descriptions and category trees"""
    for block_path in self.search_path:
        if path.isfile(block_path):
            yield block_path
        elif path.isdir(block_path):
            for root, _, files in os.walk(block_path, followlinks=True):
                for name in files:
                    if name.endswith(suffix):
                        yield path.join(root, name)
        else:
            logger.warning(
                'Invalid entry in search path: {}'.format(block_path))