From 6eff724f97abe152df1333322d679a59e32159f6 Mon Sep 17 00:00:00 2001 From: Ruud Date: Tue, 13 Aug 2013 15:36:11 +0200 Subject: [PATCH] Clean nonblocking requestshandler --- couchpotato/api.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/couchpotato/api.py b/couchpotato/api.py index 029ebce..7020fd9 100644 --- a/couchpotato/api.py +++ b/couchpotato/api.py @@ -12,27 +12,28 @@ api_docs_missing = [] # NonBlock API handler class NonBlockHandler(RequestHandler): - stoppers = [] + stopper = None @asynchronous def get(self, route, *args, **kwargs): route = route.strip('/') start, stop = api_nonblock[route] - self.stoppers.append(stop) + self.stopper = stop - start(self.onNewMessage, last_id = self.get_argument("last_id", None)) + start(self.onNewMessage, last_id = self.get_argument('last_id', None)) def onNewMessage(self, response): if self.request.connection.stream.closed(): return + self.finish(response) def on_connection_close(self): - for stop in self.stoppers: - stop(self.onNewMessage) + if self.stopper: + self.stopper(self.onNewMessage) - self.stoppers = [] + self.stopper = None def addNonBlockApiView(route, func_tuple, docs = None, **kwargs): api_nonblock[route] = func_tuple