def extract_text(self, node):
if not isinstance(node, (list, tuple)):<EOL><INDENT>node = [node]<EOL><DEDENT>pieces, self.pieces = self.pieces, ['<STR_LIT>']<EOL>for n in node:<EOL><INDENT>for sn in n.childNodes:<EOL><INDENT>self.parse(sn)<EOL><DEDENT><DEDENT>ret = '<STR_LIT>'.join(self.pieces)<EOL>self.pieces = pieces<EOL>return ret<EOL>
Return the string representation of the node or list of nodes by parsing the
        subnodes, but returning the result as a string instead of adding it to `self.pieces`.
        Note that this allows extracting text even if the node is in the ignore list.