1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
import tornado.httpserver
from tornado.web import RequestHandler, Application
import tornado.ioloop
from settings import settings
import utils
from parsedjvutext import image_from_book
import io
class MainHandler(RequestHandler):
def get(self, page_number):
areas, words = utils.gen_html(self.settings["book"], page_number)
self.render("index.html", page_number=page_number,
areas=areas, words=words)
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()
|