diff --git a/nilmdb/client/httpclient.py b/nilmdb/client/httpclient.py index 5b67203..ff40ef7 100644 --- a/nilmdb/client/httpclient.py +++ b/nilmdb/client/httpclient.py @@ -165,11 +165,11 @@ class HTTPClient(object): yield chunk elif isjson: for line in lines(response.iter_content(chunk_size = 1), - ending = '\r\n'): + ending = b'\r\n'): yield json.loads(line) else: for line in lines(response.iter_content(chunk_size = 65536), - ending = '\n'): + ending = b'\n'): yield line def get_gen(self, url, params = None, binary = False): diff --git a/nilmdb/server/server.py b/nilmdb/server/server.py index 3fc06cb..0986c18 100644 --- a/nilmdb/server/server.py +++ b/nilmdb/server/server.py @@ -285,7 +285,8 @@ class Stream(NilmApp): # Note: disable chunked responses to see tracebacks from here. while True: (removed, restart) = self.db.stream_remove(path, start, end) - yield json.dumps(removed) + "\r\n" + response = json.dumps(removed) + "\r\n" + yield response.encode('utf-8') if restart is None: break start = restart @@ -326,7 +327,7 @@ class Stream(NilmApp): (ints, restart) = self.db.stream_intervals(path, start, end, diffpath) response = ''.join([ json.dumps(i) + "\r\n" for i in ints ]) - yield response + yield response.encode('utf-8') if restart is None: break start = restart @@ -377,7 +378,7 @@ class Stream(NilmApp): if count: matched = self.db.stream_extract(path, start, end, count = True) - yield sprintf("%d\n", matched) + yield sprintf(b"%d\n", matched) return while True: @@ -397,7 +398,7 @@ class Exiter(object): def index(self): cherrypy.response.headers['Content-Type'] = 'text/plain' def content(): - yield 'Exiting by request' + yield b'Exiting by request' raise SystemExit return content() index._cp_config = { 'response.stream': True }