aboutsummaryrefslogtreecommitdiffstats
path: root/web/server.py
diff options
context:
space:
mode:
authorGuillaume Horel <guillaume.horel@gmail.com>2014-09-07 18:21:37 -0400
committerGuillaume Horel <guillaume.horel@gmail.com>2014-09-07 18:24:08 -0400
commit0e8b0c88a4d3009cbbea695f606e49faef27f373 (patch)
tree85a14a7aef3ee36e73544382c6fdec8aa6bd375c /web/server.py
parent74604d7b8ae98b125f1c800da753f8ab67474eb5 (diff)
downloadocr-layer-curation-0e8b0c88a4d3009cbbea695f606e49faef27f373.tar.gz
Reorganize the code
hope I did it right. We have two packages now, one for the server and one for the actual library.
Diffstat (limited to 'web/server.py')
-rw-r--r--web/server.py35
1 files changed, 35 insertions, 0 deletions
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()