From be2c8a35eebeb1c19c27df45190e1dcf27730d9b Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 19 May 2015 15:22:23 +0530 Subject: [PATCH] ... --- src/calibre/srv/http.py | 2 +- src/calibre/srv/loop.py | 3 ++- src/calibre/srv/utils.py | 5 ++++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/calibre/srv/http.py b/src/calibre/srv/http.py index 41663062ae..999cd14e96 100644 --- a/src/calibre/srv/http.py +++ b/src/calibre/srv/http.py @@ -489,7 +489,7 @@ class HTTPPair(object): def generate_static_output(self, name, generator): return generate_static_output(self.server_loop.gso_cache, self.server_loop.gso_lock, name, generator) - def response(self): + def respond(self): if self.chunked_read: self.input_reader = ChunkedReader(self.conn.socket_file, self.max_request_body_size) else: diff --git a/src/calibre/srv/loop.py b/src/calibre/srv/loop.py index aabac8034a..3cb15a8746 100644 --- a/src/calibre/srv/loop.py +++ b/src/calibre/srv/loop.py @@ -395,6 +395,7 @@ class WorkerThread(Thread): # {{{ self.ready = False self.serving = False self.server_loop = server_loop + self.conn = None Thread.__init__(self, name='ServerWorker') def run(self): @@ -402,7 +403,7 @@ class WorkerThread(Thread): # {{{ self.ready = True while True: self.serving = False - conn = self.server_loop.requests.get() + self.conn = conn = self.server_loop.requests.get() if conn is None: return # Clean exit with conn, self: diff --git a/src/calibre/srv/utils.py b/src/calibre/srv/utils.py index 4e7679a9af..1a13c43d6d 100644 --- a/src/calibre/srv/utils.py +++ b/src/calibre/srv/utils.py @@ -65,7 +65,10 @@ class MultiDict(dict): # {{{ return dict.__getitem__(self, key) except KeyError: return [] - return self.__getitem__(key) + try: + return self.__getitem__(key) + except KeyError: + return default def pop(self, key, default=None, all=False): ans = dict.pop(self, key, default)