From 0e8b0c88a4d3009cbbea695f606e49faef27f373 Mon Sep 17 00:00:00 2001 From: Guillaume Horel Date: Sun, 7 Sep 2014 18:21:37 -0400 Subject: Reorganize the code hope I did it right. We have two packages now, one for the server and one for the actual library. --- web/server.py | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 web/server.py (limited to 'web/server.py') diff --git a/web/server.py b/web/server.py new file mode 100644 index 0000000..1e67ad4 --- /dev/null +++ b/web/server.py @@ -0,0 +1,35 @@ +import tornado.httpserver +from tornado.web import RequestHandler, Application +import tornado.ioloop +from settings import settings +from utils.djvu_utils import image_from_book +from utils.wikisource import gen_html +import io + +class MainHandler(RequestHandler): + + def get(self, page_number): + orig_coords, orig_words, corr_words, align = \ + gen_html(self.settings["book"], page_number) + self.render("index.html", page_number=page_number, orig_coords=orig_coords, + orig_words=orig_words, corr_words=corr_words, align=align) + +class ImageHandler(RequestHandler): + + def get(self, page_number): + im = image_from_book(self.settings["book"], int(page_number)) + self.set_header('Content-Type', 'image/jpg') + img_buff = io.BytesIO() + im.save(img_buff, format="JPEG") + img_buff.seek(0) + self.write(img_buff.read()) + self.finish() + +def run(): + application = Application([ + (r'/(\d+)/?', MainHandler), + (r'/(\d+)\.jpg/?', ImageHandler)], **settings) + http_server = tornado.httpserver.HTTPServer(application) + http_server.listen(8888) + print "Listening on 8888" + tornado.ioloop.IOLoop.instance().start() -- cgit v1.2.3-70-g09d2