view index_test_server.py @ 144:90f3021e3137

myrss2: FEEDS: Remove longform.org; add propublic.org
author paulo
date Tue, 28 May 2024 06:23:58 +0000
parents 50de1845520f
children
line source
1 import os
2 import sys
3 import signal
5 import cherrypy
6 from cherrypy import wsgiserver
8 import index_app
11 def sighandler(signum, frame):
12 sys.stderr.write("Caught signal: %s \n" % signum)
13 server.stop()
16 class FileServerRoot:
17 def default(self, *args):
18 if len(args) == 0:
19 raise cherrypy.HTTPError(404)
21 filepath = os.path.abspath(os.path.join(*args))
22 return cherrypy.lib.static.serve_file(filepath)
24 default.exposed = True
27 if __name__ == "__main__":
28 fileServerApp = cherrypy.Application(FileServerRoot())
29 dispatcher = wsgiserver.WSGIPathInfoDispatcher({
30 "/index.fcgi": index_app.app,
31 "": fileServerApp,
32 })
33 server = wsgiserver.CherryPyWSGIServer(('0.0.0.0', 8000), dispatcher)
35 signal.signal(signal.SIGINT, sighandler)
36 signal.signal(signal.SIGTERM, sighandler)
38 server.start()