Mercurial > hg > mercurial-crew-with-dirclash
view mercurial/httprangereader.py @ 4690:ecea4de3104e
Enable to select encoding in hgrc web section
This patch provides character encoding setting in each repository. After this
patch, You can use multi encoding repositories with one mercurial server.
author | OHASHI Hideya <ohachige at gmail.com> |
---|---|
date | Wed, 13 Jun 2007 18:18:06 +0900 |
parents | 345bac2bc4ec |
children |
line wrap: on
line source
# httprangereader.py - just what it says # # Copyright 2005, 2006 Matt Mackall <mpm@selenic.com> # # This software may be used and distributed according to the terms # of the GNU General Public License, incorporated herein by reference. import byterange, urllib2 class httprangereader(object): def __init__(self, url): self.url = url self.pos = 0 def seek(self, pos): self.pos = pos def read(self, bytes=None): opener = urllib2.build_opener(byterange.HTTPRangeHandler()) urllib2.install_opener(opener) req = urllib2.Request(self.url) end = '' if bytes: end = self.pos + bytes - 1 req.add_header('Range', 'bytes=%d-%s' % (self.pos, end)) f = urllib2.urlopen(req) data = f.read() if bytes: data = data[:bytes] return data