#NEWLINE# def remove_node( self , node , edges = False ) : #NEWLINE# #INDENT# if ( node in self . _nodes ) : #NEWLINE# #INDENT# self . _nodes . remove ( node ) #NEWLINE# #UNINDENT# if edges : #NEWLINE# #INDENT# for p in set ( self . _preds . get ( node , ( ) ) ) : #NEWLINE# #INDENT# self . remove ( p , v ) #NEWLINE# #UNINDENT# for s in set ( self . _succs . get ( node , ( ) ) ) : #NEWLINE# #INDENT# self . remove ( node , s ) #NEWLINE# #UNINDENT# for ( k , v ) in list ( self . _preds . items ( ) ) : #NEWLINE# #INDENT# if ( not v ) : #NEWLINE# #INDENT# del self . _preds [ k ] #NEWLINE# #UNINDENT# #UNINDENT# for ( k , v ) in list ( self . _succs . items ( ) ) : #NEWLINE# #INDENT# if ( not v ) : #NEWLINE# #INDENT# del self . _succs [ k ]