Guest User

Untitled

a guest
Jan 9th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.87 KB | None | 0 0
  1. from twisted.internet import reactor, defer
  2.  
  3. class HeadlineRetriever(object):
  4. def processHeadline(self, headline):
  5. if len(headline) > 50:
  6. self.d.errback(
  7. "The headline ''%s'' is too long!" % (headline,))
  8. else:
  9. self.d.callback(headline)
  10.  
  11. def _toHTML(self, result):
  12. return "<h1>%s</h1>" % (result,)
  13.  
  14. def getHeadline(self, input):
  15. self.d = defer.Deferred()
  16. reactor.callLater(1, self.processHeadline, input)
  17. self.d.addCallback(self._toHTML)
  18. return self.d
  19.  
  20. def printData(result):
  21. print(result)
  22. reactor.stop()
  23.  
  24. def printError(failure):
  25. print(failure)
  26. reactor.stop()
  27.  
  28. h = HeadlineRetriever()
  29. d = h.getHeadline(b"Breaking News: Twisted Takes Us to the Moon!")
  30. d.addCallbacks(h.printData, h.printError)
  31.  
  32. reactor.run()
Advertisement
Add Comment
Please, Sign In to add comment