Update Tornado

This commit is contained in:
Ruud committed 2013-12-30 23:27:40 +01:00
1 parent d74342adee
commit 266429311b
19 files changed
+245 -151

No files matched your search

+17 -7
View File
@@ -64,7 +64,7 @@ For more complicated interfaces, `Task` can be split into two parts:
def get(self):
http_client = AsyncHTTPClient()
http_client.fetch("http://example.com",
callback=(yield gen.Callback("key"))
callback=(yield gen.Callback("key")))
response = yield gen.Wait("key")
do_something_with_response(response)
self.render("template.html")
@@ -390,16 +390,26 @@ class YieldFuture(YieldPoint):
self.io_loop = io_loop or IOLoop.current()
def start(self, runner):
self.runner = runner
self.key = object()
runner.register_callback(self.key)
self.io_loop.add_future(self.future, runner.result_callback(self.key))
if not self.future.done():
self.runner = runner
self.key = object()
runner.register_callback(self.key)
self.io_loop.add_future(self.future, runner.result_callback(self.key))
else:
self.runner = None
self.result = self.future.result()
def is_ready(self):
return self.runner.is_ready(self.key)
if self.runner is not None:
return self.runner.is_ready(self.key)
else:
return True
def get_result(self):
return self.runner.pop_result(self.key).result()
if self.runner is not None:
return self.runner.pop_result(self.key).result()
else:
return self.result
class Multi(YieldPoint):