def deferLater(clock, delay, callable, *args, **kw):
 def deferLaterCancel(deferred):
  delayedCall.cancel()
 d = defer.Deferred(deferLaterCancel)
 d.addCallback((lambda ignored: callable(*args, **kw)))
 delayedCall = clock.callLater(delay, d.callback, None)
 return d

def deferLater ( clock , delay , callable , * args , ** kw ) : def deferLaterCancel ( deferred ) : delayedCall . cancel ( ) d = defer . Deferred ( deferLaterCancel ) d . addCallback ( ( lambda ignored : callable ( * args , ** kw ) ) ) delayedCall = clock . callLater ( delay , d . callback , None ) return d
call the given function after a certain period of time has passed .