wok-stable diff mercurial/stuff/hgwebdir.cgi @ rev 7300
Add geoip. Non-DNS IP-to-country resolver C library & utils.
author | Christopher Rogers <slaxemulator@gmail.com> |
---|---|
date | Wed Nov 17 03:07:03 2010 +0000 (2010-11-17) |
parents | |
children |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/mercurial/stuff/hgwebdir.cgi Wed Nov 17 03:07:03 2010 +0000 1.3 @@ -0,0 +1,50 @@ 1.4 +#!/usr/bin/env python 1.5 +# 1.6 +# An example CGI script to export multiple hgweb repos, edit as necessary 1.7 + 1.8 +# adjust python path if not a system-wide install: 1.9 +#import sys 1.10 +#sys.path.insert(0, "/path/to/python/lib") 1.11 + 1.12 +# enable importing on demand to reduce startup time 1.13 +from mercurial import demandimport; demandimport.enable() 1.14 + 1.15 +# send python tracebacks to the browser if an error occurs: 1.16 +import cgitb 1.17 +cgitb.enable() 1.18 + 1.19 +# If you'd like to serve pages with UTF-8 instead of your default 1.20 +# locale charset, you can do so by uncommenting the following lines. 1.21 +# Note that this will cause your .hgrc files to be interpreted in 1.22 +# UTF-8 and all your repo files to be displayed using UTF-8. 1.23 +# 1.24 +#import os 1.25 +#os.environ["HGENCODING"] = "UTF-8" 1.26 + 1.27 +from mercurial.hgweb.hgwebdir_mod import hgwebdir 1.28 +from mercurial.hgweb.request import wsgiapplication 1.29 +import mercurial.hgweb.wsgicgi as wsgicgi 1.30 + 1.31 +# The config file looks like this. You can have paths to individual 1.32 +# repos, collections of repos in a directory tree, or both. 1.33 +# 1.34 +# [paths] 1.35 +# virtual/path = /real/path 1.36 +# virtual/path = /real/path 1.37 +# 1.38 +# [collections] 1.39 +# /prefix/to/strip/off = /root/of/tree/full/of/repos 1.40 +# 1.41 +# collections example: say directory tree /foo contains repos /foo/bar, 1.42 +# /foo/quux/baz. Give this config section: 1.43 +# [collections] 1.44 +# /foo = /foo 1.45 +# Then repos will list as bar and quux/baz. 1.46 +# 1.47 +# Alternatively you can pass a list of ('virtual/path', '/real/path') tuples 1.48 +# or use a dictionary with entries like 'virtual/path': '/real/path' 1.49 + 1.50 +def make_web_app(): 1.51 + return hgwebdir("/etc/mercurial/hgweb.config") 1.52 + 1.53 +wsgicgi.launch(wsgiapplication(make_web_app))