Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/hgweb/webcommands.py @ 11332:716e176a4e01
hgweb: specify a charset when sending raw text files
Gets the charset from encoding.encoding parameter.
author | Julian Cowley <julian@lava.net> |
---|---|
date | Wed, 09 Jun 2010 12:41:44 -1000 |
parents | 4612cded5176 |
children | 0de6cfdcaad8 |
comparison
equal
deleted
inserted
replaced
11331:997ab9af81df | 11332:716e176a4e01 |
---|---|
5 # This software may be used and distributed according to the terms of the | 5 # This software may be used and distributed according to the terms of the |
6 # GNU General Public License version 2 or any later version. | 6 # GNU General Public License version 2 or any later version. |
7 | 7 |
8 import os, mimetypes, re, cgi, copy | 8 import os, mimetypes, re, cgi, copy |
9 import webutil | 9 import webutil |
10 from mercurial import error, archival, templater, templatefilters | 10 from mercurial import error, encoding, archival, templater, templatefilters |
11 from mercurial.node import short, hex | 11 from mercurial.node import short, hex |
12 from mercurial.util import binary | 12 from mercurial.util import binary |
13 from common import paritygen, staticfile, get_contact, ErrorResponse | 13 from common import paritygen, staticfile, get_contact, ErrorResponse |
14 from common import HTTP_OK, HTTP_FORBIDDEN, HTTP_NOT_FOUND | 14 from common import HTTP_OK, HTTP_FORBIDDEN, HTTP_NOT_FOUND |
15 from mercurial import graphmod | 15 from mercurial import graphmod |
49 path = fctx.path() | 49 path = fctx.path() |
50 text = fctx.data() | 50 text = fctx.data() |
51 mt = mimetypes.guess_type(path)[0] | 51 mt = mimetypes.guess_type(path)[0] |
52 if mt is None: | 52 if mt is None: |
53 mt = binary(text) and 'application/octet-stream' or 'text/plain' | 53 mt = binary(text) and 'application/octet-stream' or 'text/plain' |
54 if mt.startswith('text/'): | |
55 mt += '; charset="%s"' % encoding.encoding | |
54 | 56 |
55 req.respond(HTTP_OK, mt, path, len(text)) | 57 req.respond(HTTP_OK, mt, path, len(text)) |
56 return [text] | 58 return [text] |
57 | 59 |
58 def _filerevision(web, tmpl, fctx): | 60 def _filerevision(web, tmpl, fctx): |