Mercurial > hg
view mercurial/httprangereader.py @ 2024:6328445b0e71
Fixes to testpid() for Windows.
Handle processes that no longer exist and processes that belong to another user.
Enables the lock breaking changes from d314a89fa4f1 and subsequently "fixes" the left over locks reported in bug 112.
author | Lee Cantey <lcantey@gmail.com> |
---|---|
date | Thu, 30 Mar 2006 18:20:08 -0800 |
parents | 59b3639df0a9 |
children | f5046cab9e2e |
line wrap: on
line source
# httprangereader.py - just what it says # # Copyright 2005 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 req.add_header('Range', 'bytes=%d-%s' % (self.pos, end)) f = urllib2.urlopen(req) return f.read()