annotate hgweb.cgi @ 1411:e2ba788545bf

hgweb: make viewing of non-text work in hgweb We use mimetypes.guess_type to guess file types and util.binary to determine whether a file is displayable as text. This lets us display displayable text files in our normal source view. Files that appear to be binary will be displayed as something like "(binary:image/gif)". Clicking on raw view will send the raw file with an appropriate MIME type. Thus things like GIFs will now be viewable inside hgweb without making a mess. Further, things like postscript files that are text should show source in the normal view and a browser can launch a postscript viewer for the raw view.
author Matt Mackall <mpm@selenic.com>
date Tue, 18 Oct 2005 23:50:55 -0700
parents 5f65a108a559
children d0db3462d568
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
202
e875a0cf7f3a Call python via env in hgweb.cgi
mpm@selenic.com
parents: 159
diff changeset
1 #!/usr/bin/env python
159
f9d8620ef469 Add example CGI script
mpm@selenic.com
parents:
diff changeset
2 #
f9d8620ef469 Add example CGI script
mpm@selenic.com
parents:
diff changeset
3 # An example CGI script to use hgweb, edit as necessary
f9d8620ef469 Add example CGI script
mpm@selenic.com
parents:
diff changeset
4
f9d8620ef469 Add example CGI script
mpm@selenic.com
parents:
diff changeset
5 import cgitb, os, sys
391
5f65a108a559 hgweb: pull cgitb into CGI script example, where it can easily be disabled
mpm@selenic.com
parents: 202
diff changeset
6 cgitb.enable()
5f65a108a559 hgweb: pull cgitb into CGI script example, where it can easily be disabled
mpm@selenic.com
parents: 202
diff changeset
7
159
f9d8620ef469 Add example CGI script
mpm@selenic.com
parents:
diff changeset
8 # sys.path.insert(0, "/path/to/python/lib") # if not a system-wide install
f9d8620ef469 Add example CGI script
mpm@selenic.com
parents:
diff changeset
9 from mercurial import hgweb
f9d8620ef469 Add example CGI script
mpm@selenic.com
parents:
diff changeset
10
f9d8620ef469 Add example CGI script
mpm@selenic.com
parents:
diff changeset
11 h = hgweb.hgweb("/path/to/repo", "repository name")
f9d8620ef469 Add example CGI script
mpm@selenic.com
parents:
diff changeset
12 h.run()