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/__init__.py | 2 ++ web/djvu_utils.py | 1 - web/main.py | 37 ------------------------------------- web/server.py | 35 +++++++++++++++++++++++++++++++++++ web/settings.py | 8 ++++---- web/utils.py | 20 -------------------- 6 files changed, 41 insertions(+), 62 deletions(-) create mode 100644 web/__init__.py delete mode 120000 web/djvu_utils.py delete mode 100644 web/main.py create mode 100644 web/server.py delete mode 100644 web/utils.py (limited to 'web') diff --git a/web/__init__.py b/web/__init__.py new file mode 100644 index 0000000..139597f --- /dev/null +++ b/web/__init__.py @@ -0,0 +1,2 @@ + + diff --git a/web/djvu_utils.py b/web/djvu_utils.py deleted file mode 120000 index 0742170..0000000 --- a/web/djvu_utils.py +++ /dev/null @@ -1 +0,0 @@ -../djvu_utils.py \ No newline at end of file diff --git a/web/main.py b/web/main.py deleted file mode 100644 index a6826c1..0000000 --- a/web/main.py +++ /dev/null @@ -1,37 +0,0 @@ -import tornado.httpserver -from tornado.web import RequestHandler, Application -import tornado.ioloop -from settings import settings -import utils -from djvu_utils import image_from_book -import io - -class MainHandler(RequestHandler): - - def get(self, page_number): - orig_coords, orig_words, corr_words, align = \ - utils.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() - -application = Application([ - (r'/(\d+)/?', MainHandler), - (r'/(\d+)\.jpg/?', ImageHandler)] - , **settings) - -if __name__ == '__main__': - http_server = tornado.httpserver.HTTPServer(application) - http_server.listen(8888) - print "Listening on 8888" - tornado.ioloop.IOLoop.instance().start() 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() diff --git a/web/settings.py b/web/settings.py index 5a8c9aa..32693b8 100644 --- a/web/settings.py +++ b/web/settings.py @@ -1,9 +1,9 @@ settings = { "debug": True, - "template_path": "templates", - "static_path": "static", + "template_path": "web/templates", + "static_path": "web/static", "cookie_secret": "toto", "login_url": "/login", - #"book": "Bloy_-_Le_Sang_du_pauvre,_Stock,_1932.djvu" - "book": "Villiers_de_L'Isle-Adam_-_Tribulat_Bonhomet,_1908.djvu" + "book": "Bloy_-_Le_Sang_du_pauvre,_Stock,_1932.djvu" + #"book": "Villiers_de_L'Isle-Adam_-_Tribulat_Bonhomet,_1908.djvu" } diff --git a/web/utils.py b/web/utils.py deleted file mode 100644 index 7e20858..0000000 --- a/web/utils.py +++ /dev/null @@ -1,20 +0,0 @@ -import djvu_utils as du -import sys -import string_utils as su -from wikisource import get_page - -def gen_html(book, page_number): - doc = du.get_document("../" + book) - page = doc.pages[int(page_number)-1] - d = du.parse_page(page) - corrected_text = get_page(book, int(page_number)) - corrected_words = su.simplify(corrected_text).split() - if d: - orig_words, orig_coords = zip(*d) - C = su.align(corrected_words, list(orig_words), list(orig_coords)) - corr_words = corrected_text.split() - orig_coords_html = du.convert_to_htmlcoord(orig_coords, page.size[1]) - return orig_coords_html, orig_words, corr_words, C[1] - -if __name__ == "__main__": - gen_html(*sys.argv[1:3]) -- cgit v1.2.3-70-g09d2