Mercurial > piecrust2
annotate piecrust/wsgiutil/cwdapp.py @ 1188:a7c43131d871
bake: Fix file write flushing problem with Python 3.8+
Writing the cache files fails in Python 3.8 because it looks like flushing
behaviour has changed. We need to explicitly flush. And even then, in very
rare occurrences, it looks like it can still run into racing conditions,
so we do a very hacky and ugly "retry" loop when fetching cached data :(
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Tue, 15 Jun 2021 22:36:23 -0700 |
parents | d40b744a9d99 |
children |
rev | line source |
---|---|
376
21687b933193
serve: Add a WSGI utility module for easily getting a default app.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
1 # This is a utility module that can be used with any WSGI-compatible server |
21687b933193
serve: Add a WSGI utility module for easily getting a default app.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
2 # like Werkzeug or Gunicorn. It returns a WSGI app for serving a PieCrust |
21687b933193
serve: Add a WSGI utility module for easily getting a default app.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
3 # website located in the current working directory. |
21687b933193
serve: Add a WSGI utility module for easily getting a default app.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
4 import os |
379
d40b744a9d99
serve: Add a generic WSGI app factory.
Ludovic Chabant <ludovic@chabant.com>
parents:
378
diff
changeset
|
5 from piecrust.wsgiutil import get_app |
376
21687b933193
serve: Add a WSGI utility module for easily getting a default app.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
6 |
21687b933193
serve: Add a WSGI utility module for easily getting a default app.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
7 |
21687b933193
serve: Add a WSGI utility module for easily getting a default app.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
8 root_dir = os.getcwd() |
379
d40b744a9d99
serve: Add a generic WSGI app factory.
Ludovic Chabant <ludovic@chabant.com>
parents:
378
diff
changeset
|
9 app = get_app(root_dir) |
378
fe8a58817088
serve: Compatibility with `mod_wsgi`.
Ludovic Chabant <ludovic@chabant.com>
parents:
376
diff
changeset
|
10 # Add this for `mod_wsgi`. |
fe8a58817088
serve: Compatibility with `mod_wsgi`.
Ludovic Chabant <ludovic@chabant.com>
parents:
376
diff
changeset
|
11 application = app |
376
21687b933193
serve: Add a WSGI utility module for easily getting a default app.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
12 |