# HG changeset patch # User Thomas Arendsen Hein # Date 1165843850 -3600 # Node ID 6033d9f28052b0cbc6e70964ec7e64cd77dda04c # Parent d210a1b05cf6efa5be4a24e1a277d82c8985dd24 hgweb.cgi and hgwebdir.cgi fixes/cleanups for user configurable parts: - "import os" was missing in hgwebdir.cgi, added to comments for both script. - HGENCODING has to be set before importing hgweb, otherwise you'll get mixed encoding in changelog vs. file content/diffs. - "import sys" is only needed when changing sys.path - document purpose of cgitb. diff --git a/hgweb.cgi b/hgweb.cgi --- a/hgweb.cgi +++ b/hgweb.cgi @@ -2,20 +2,25 @@ # # An example CGI script to use hgweb, edit as necessary -import cgitb, os, sys +# send python tracebacks to the browser if an error occurs: +import cgitb cgitb.enable() -# sys.path.insert(0, "/path/to/python/lib") # if not a system-wide install -from mercurial.hgweb.hgweb_mod import hgweb -from mercurial.hgweb.request import wsgiapplication -import mercurial.hgweb.wsgicgi as wsgicgi +# adjust python path if not a system-wide install: +#import sys +#sys.path.insert(0, "/path/to/python/lib") # If you'd like to serve pages with UTF-8 instead of your default # locale charset, you can do so by uncommenting the following lines. # Note that this will cause your .hgrc files to be interpreted in # UTF-8 and all your repo files to be displayed using UTF-8. # -# os.environ["HGENCODING"] = "UTF-8" +#import os +#os.environ["HGENCODING"] = "UTF-8" + +from mercurial.hgweb.hgweb_mod import hgweb +from mercurial.hgweb.request import wsgiapplication +import mercurial.hgweb.wsgicgi as wsgicgi def make_web_app(): return hgweb("/path/to/repo", "repository name") diff --git a/hgwebdir.cgi b/hgwebdir.cgi --- a/hgwebdir.cgi +++ b/hgwebdir.cgi @@ -2,10 +2,22 @@ # # An example CGI script to export multiple hgweb repos, edit as necessary -import cgitb, sys +# send python tracebacks to the browser if an error occurs: +import cgitb cgitb.enable() -# sys.path.insert(0, "/path/to/python/lib") # if not a system-wide install +# adjust python path if not a system-wide install: +#import sys +#sys.path.insert(0, "/path/to/python/lib") + +# If you'd like to serve pages with UTF-8 instead of your default +# locale charset, you can do so by uncommenting the following lines. +# Note that this will cause your .hgrc files to be interpreted in +# UTF-8 and all your repo files to be displayed using UTF-8. +# +#import os +#os.environ["HGENCODING"] = "UTF-8" + from mercurial.hgweb.hgwebdir_mod import hgwebdir from mercurial.hgweb.request import wsgiapplication import mercurial.hgweb.wsgicgi as wsgicgi @@ -25,17 +37,10 @@ import mercurial.hgweb.wsgicgi as wsgicg # [collections] # /foo = /foo # Then repos will list as bar and quux/baz. - +# # Alternatively you can pass a list of ('virtual/path', '/real/path') tuples # or use a dictionary with entries like 'virtual/path': '/real/path' -# If you'd like to serve pages with UTF-8 instead of your default -# locale charset, you can do so by uncommenting the following lines. -# Note that this will cause your .hgrc files to be interpreted in -# UTF-8 and all your repo files to be displayed using UTF-8. -# -# os.environ["HGENCODING"] = "UTF-8" - def make_web_app(): return hgwebdir("hgweb.config")