Admin/Mercurial/hgwebdir.cgi
author wenzelm
Mon Dec 01 14:46:27 2008 +0100 (2008-12-01)
changeset 28930 6d677da7b339
parent 28000 ca56bbb99607
child 40385 b70ef70733e8
permissions -rwxr-xr-x
updated to python2.5;
wenzelm@27725
     1
#!/usr/bin/env python
wenzelm@27725
     2
#
wenzelm@27725
     3
# An example CGI script to export multiple hgweb repos, edit as necessary
wenzelm@27725
     4
wenzelm@27725
     5
# adjust python path if not a system-wide install:
wenzelm@27725
     6
import sys
wenzelm@28930
     7
sys.path.insert(0, "/home/isabelle-repository/repos/mercurial-www4/lib64/python2.5/site-packages")
wenzelm@27725
     8
wenzelm@27725
     9
# enable importing on demand to reduce startup time
wenzelm@27725
    10
from mercurial import demandimport; demandimport.enable()
wenzelm@27725
    11
wenzelm@27725
    12
# Uncomment to send python tracebacks to the browser if an error occurs:
wenzelm@27725
    13
import cgitb
wenzelm@27725
    14
cgitb.enable()
wenzelm@27725
    15
wenzelm@27725
    16
# If you'd like to serve pages with UTF-8 instead of your default
wenzelm@27725
    17
# locale charset, you can do so by uncommenting the following lines.
wenzelm@27725
    18
# Note that this will cause your .hgrc files to be interpreted in
wenzelm@27725
    19
# UTF-8 and all your repo files to be displayed using UTF-8.
wenzelm@27725
    20
#
wenzelm@27725
    21
import os
wenzelm@27725
    22
os.environ["HGENCODING"] = "UTF-8"
wenzelm@27725
    23
wenzelm@27725
    24
from mercurial.hgweb.hgwebdir_mod import hgwebdir
wenzelm@27725
    25
import mercurial.hgweb.wsgicgi as wsgicgi
wenzelm@27725
    26
wenzelm@27725
    27
# The config file looks like this.  You can have paths to individual
wenzelm@27725
    28
# repos, collections of repos in a directory tree, or both.
wenzelm@27725
    29
#
wenzelm@27725
    30
# [paths]
wenzelm@27725
    31
# virtual/path = /real/path
wenzelm@27725
    32
# virtual/path = /real/path
wenzelm@27725
    33
#
wenzelm@27725
    34
# [collections]
wenzelm@27725
    35
# /prefix/to/strip/off = /root/of/tree/full/of/repos
wenzelm@27725
    36
#
wenzelm@27725
    37
# collections example: say directory tree /foo contains repos /foo/bar,
wenzelm@27725
    38
# /foo/quux/baz.  Give this config section:
wenzelm@27725
    39
#   [collections]
wenzelm@27725
    40
#   /foo = /foo
wenzelm@27725
    41
# Then repos will list as bar and quux/baz.
wenzelm@27725
    42
#
wenzelm@27725
    43
# Alternatively you can pass a list of ('virtual/path', '/real/path') tuples
wenzelm@27725
    44
# or use a dictionary with entries like 'virtual/path': '/real/path'
wenzelm@27725
    45
wenzelm@28000
    46
application = hgwebdir('/home/isabelle-repository/repos/hgweb.config')
wenzelm@27725
    47
wsgicgi.launch(application)