Mercurial > hg
annotate contrib/hgwebdir.wsgi @ 8823:d9f4c182aeca
churn: improve description
Thanks to Martin Geisler and timeless for the suggested improvements.
author | Cédric Duval <cedricduval@free.fr> |
---|---|
date | Tue, 16 Jun 2009 22:24:46 +0200 |
parents | 58125c27ddbe |
children |
rev | line source |
---|---|
7800
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
1 # An example WSGI (use with mod_wsgi) script to export multiple hgweb repos |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
2 |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
3 # adjust python path if not a system-wide install: |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
4 #import sys |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
5 #sys.path.insert(0, "/path/to/python/lib") |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
6 |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
7 # enable demandloading to reduce startup time |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
8 from mercurial import demandimport; demandimport.enable() |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
9 from mercurial.hgweb.hgwebdir_mod import hgwebdir |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
10 |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
11 # If you'd like to serve pages with UTF-8 instead of your default |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
12 # locale charset, you can do so by uncommenting the following lines. |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
13 # Note that this will cause your .hgrc files to be interpreted in |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
14 # UTF-8 and all your repo files to be displayed using UTF-8. |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
15 # |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
16 #import os |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
17 #os.environ["HGENCODING"] = "UTF-8" |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
18 |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
19 # The config file looks like this. You can have paths to individual |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
20 # repos, collections of repos in a directory tree, or both. |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
21 # |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
22 # [paths] |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
23 # virtual/path1 = /real/path1 |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
24 # virtual/path2 = /real/path2 |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
25 # virtual/root = /real/root/* |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
26 # / = /real/root2/* |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
27 # |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
28 # paths example: |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
29 # |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
30 # * First two lines mount one repository into one virtual path, like |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
31 # '/real/path1' into 'virtual/path1'. |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
32 # |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
33 # * The third entry tells every mercurial repository found in |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
34 # '/real/root', recursively, should be mounted in 'virtual/root'. This |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
35 # format is preferred over the [collections] one, using absolute paths |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
36 # as configuration keys is not supported on every platform (including |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
37 # Windows). |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
38 # |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
39 # * The last entry is a special case mounting all repositories in |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
40 # '/real/root2' in the root of the virtual directory. |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
41 # |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
42 # collections example: say directory tree /foo contains repos /foo/bar, |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
43 # /foo/quux/baz. Give this config section: |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
44 # [collections] |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
45 # /foo = /foo |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
46 # Then repos will list as bar and quux/baz. |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
47 # |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
48 # Alternatively you can pass a list of ('virtual/path', '/real/path') tuples |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
49 # or use a dictionary with entries like 'virtual/path': '/real/path' |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
50 |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
51 application = hgwebdir('hgweb.config') |