]> git.phdru.name Git - m_librarian.git/blob - m_librarian/web/server.py
Feat(web): Use CheetahTemplate
[m_librarian.git] / m_librarian / web / server.py
1 import os
2 import sys
3 from wsgiref import simple_server
4 from wsgiref.handlers import SimpleHandler
5 from wsgiref.simple_server import WSGIServer
6
7 from bottle import route, run
8
9 simple_server.ServerHandler = SimpleHandler  # Stop logging to stdout
10
11
12 class QuitWSGIServer(WSGIServer):
13     _quit_flag = False
14
15     def serve_forever(self):
16         while not self._quit_flag:
17             self.handle_request()
18
19
20 @route('/quit')
21 def quit():
22     QuitWSGIServer._quit_flag = True
23     return "The program has finished. Have a nice day!"
24
25
26 def run_server(host='localhost', port=0):
27     # Start here so that bottle can find templates
28     os.chdir(os.path.dirname(__file__))
29     sys.path.insert(0, os.getcwd())  # To import Cheetah templates
30     run(host=host, port=port, server_class=QuitWSGIServer, debug=True)