comparison pics2/pics_test_server.py @ 58:675002109a6a

add vice.com in myrss/FEEDS
author paulo
date Wed, 15 Jan 2014 00:49:30 -0700
parents f5c2934a1e3f
children b7966ae653f2
comparison
equal deleted inserted replaced
0:aa81b2543585 1:2a8a48e81800
1 import wsgiref.simple_server 1 import os
2 import SocketServer 2 import sys
3 import signal
4
5 import cherrypy
6 from cherrypy import wsgiserver
3 7
4 import pics_app 8 import pics_app
5 9
6 10
7 class ThreadingWSGIServer(SocketServer.ThreadingMixIn, wsgiref.simple_server.WSGIServer): 11 def sighandler(signum, frame):
8 pass 12 sys.stderr.write("Caught signal: %s \n" % signum)
13 server.stop()
14
15
16 class FileServerRoot:
17 def default(self, *args):
18 if len(args) == 0:
19 raise cherrypy.HTTPError(404)
20
21 filepath = os.path.abspath(os.path.join(*args))
22 return cherrypy.lib.static.serve_file(filepath)
23
24 default.exposed = True
9 25
10 26
11 if __name__ == "__main__": 27 if __name__ == "__main__":
12 httpd = ThreadingWSGIServer(('', 8000), wsgiref.simple_server.WSGIRequestHandler) 28 fileServerApp = cherrypy.Application(FileServerRoot())
13 httpd.set_app(pics_app.app) 29 dispatcher = wsgiserver.WSGIPathInfoDispatcher({
14 httpd.serve_forever() 30 "/pics.fcgi": pics_app.app,
31 "": fileServerApp,
32 })
33 server = wsgiserver.CherryPyWSGIServer(('0.0.0.0', 8000), dispatcher)
34
35 signal.signal(signal.SIGINT, sighandler)
36 signal.signal(signal.SIGTERM, sighandler)
37
38 server.start()