def blocks(self, name):
b = self._blocks(name)<EOL>if b:<EOL><INDENT>return b<EOL><DEDENT>return self._blocks(name.replace('<STR_LIT>', '<STR_LIT:U+0020>'))<EOL>
Search for defined blocks recursively.
Allow '>' to be ignored. '.a .b' == '.a > .b'
Args:
    name (string): Search term
Returns:
    Block object OR False