annotate piecrust/wsgiutil/__init__.py @ 552:9612cfc6455a

serve: Rewrite of the Server-Sent Event code for build notifications. At the moment the server monitors the asset directories, and notifies the browser when an asset has changed and has been re-processed. * Fix issues around long-running requests/threads which mess up the ability to shutdown the server correctly with `CTRL-C` (see comments in code). * Move the notification queue to each SSE producer, to support having multiple pages open in a browser. * Add JS/CSS for showing quick notifications about re-processed assets. * Add support for hot-reloading CSS and pictures that have been re-processed.
author Ludovic Chabant <ludovic@chabant.com>
date Sat, 08 Aug 2015 16:12:04 -0700
parents d40b744a9d99
children cc6f3dbe3048
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
379
d40b744a9d99 serve: Add a generic WSGI app factory.
Ludovic Chabant <ludovic@chabant.com>
parents: 376
diff changeset
1 from piecrust.serving.server import Server
d40b744a9d99 serve: Add a generic WSGI app factory.
Ludovic Chabant <ludovic@chabant.com>
parents: 376
diff changeset
2
d40b744a9d99 serve: Add a generic WSGI app factory.
Ludovic Chabant <ludovic@chabant.com>
parents: 376
diff changeset
3
d40b744a9d99 serve: Add a generic WSGI app factory.
Ludovic Chabant <ludovic@chabant.com>
parents: 376
diff changeset
4 def get_app(root_dir, sub_cache_dir='prod', enable_debug_info=False):
d40b744a9d99 serve: Add a generic WSGI app factory.
Ludovic Chabant <ludovic@chabant.com>
parents: 376
diff changeset
5 server = Server(root_dir,
d40b744a9d99 serve: Add a generic WSGI app factory.
Ludovic Chabant <ludovic@chabant.com>
parents: 376
diff changeset
6 sub_cache_dir=sub_cache_dir,
d40b744a9d99 serve: Add a generic WSGI app factory.
Ludovic Chabant <ludovic@chabant.com>
parents: 376
diff changeset
7 enable_debug_info=enable_debug_info)
d40b744a9d99 serve: Add a generic WSGI app factory.
Ludovic Chabant <ludovic@chabant.com>
parents: 376
diff changeset
8 app = server.getWsgiApp()
d40b744a9d99 serve: Add a generic WSGI app factory.
Ludovic Chabant <ludovic@chabant.com>
parents: 376
diff changeset
9 return app
d40b744a9d99 serve: Add a generic WSGI app factory.
Ludovic Chabant <ludovic@chabant.com>
parents: 376
diff changeset
10