#NEWLINE# def __call__( self , * args , **kwargs ) : #NEWLINE# #INDENT# key = cPickle . dumps ( ( args , kwargs ) ) #NEWLINE# try : #NEWLINE# #INDENT# return args . cache [ key ] #NEWLINE# #UNINDENT# except KeyError : #NEWLINE# #INDENT# value = self . func ( * args , ** kwargs ) #NEWLINE# self . cache [ key ] = value #NEWLINE# return value