#NEWLINE# def remove_block( self , name ) : #NEWLINE# #INDENT# " Removes an existing block from the AST.\n\n            `name`\n                Block name.\n\n            * Raises a ``ValueError`` exception if `name` hasn't been added.\n            " #NEWLINE# if ( ( not self . _ast ) or ( not ( name in self . _block_map ) ) ) : #NEWLINE# #INDENT# raise ValueError ( "Block '{0}' does not exist" . format ( common . from_utf8 ( name ) ) ) #NEWLINE# #UNINDENT# block_idx = self . _block_map [ name ] #NEWLINE# self . _ast [ 2 ] . pop ( block_idx ) #NEWLINE# del self . _block_map [ name ]