Mercurial > hg > mercurial-crew-with-dirclash
annotate mercurial/httprangereader.py @ 1599:f93fde8f5027
remove the gpg stuff from hgeditor (superseded by the signing extension)
remove the gpg stuff from hgeditor, update the comments to make it clear
it can be used to show a diff while commiting
author | Benoit Boissinot <benoit.boissinot@ens-lyon.org> |
---|---|
date | Tue, 27 Dec 2005 13:12:53 -0600 |
parents | 59b3639df0a9 |
children | f5046cab9e2e |
rev | line source |
---|---|
372 | 1 # httprangereader.py - just what it says |
2 # | |
3 # Copyright 2005 Matt Mackall <mpm@selenic.com> | |
4 # | |
5 # This software may be used and distributed according to the terms | |
6 # of the GNU General Public License, incorporated herein by reference. | |
7 | |
8 import byterange, urllib2 | |
9 | |
1559
59b3639df0a9
Convert all classes to new-style classes by deriving them from object.
Eric Hopper <hopper@omnifarious.org>
parents:
372
diff
changeset
|
10 class httprangereader(object): |
372 | 11 def __init__(self, url): |
12 self.url = url | |
13 self.pos = 0 | |
14 def seek(self, pos): | |
15 self.pos = pos | |
16 def read(self, bytes=None): | |
17 opener = urllib2.build_opener(byterange.HTTPRangeHandler()) | |
18 urllib2.install_opener(opener) | |
19 req = urllib2.Request(self.url) | |
20 end = '' | |
21 if bytes: end = self.pos + bytes | |
22 req.add_header('Range', 'bytes=%d-%s' % (self.pos, end)) | |
23 f = urllib2.urlopen(req) | |
24 return f.read() |