#NEWLINE# def get( self , key , default = None ) : #NEWLINE# #INDENT# if ( isinstance ( key , list ) or isinstance ( key , tuple ) ) : #NEWLINE# #INDENT# if ( len ( key ) > 1 ) : #NEWLINE# #INDENT# return self . __getitem__ ( key [ 0 ] ) . get ( key [ 1 : ] , default ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if ( len ( key ) == 1 ) : #NEWLINE# #INDENT# return self . get ( key [ 0 ] , default ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# raise KeyError ( key ) #NEWLINE# #UNINDENT# #UNINDENT# #UNINDENT# if ( key in self ) : #NEWLINE# #INDENT# return dict . get ( self , key ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if self . parent : #NEWLINE# #INDENT# return self . parent . get ( key , key ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# return default