view mercurial/httprangereader.py @ 4668:e241598e956f

Remove useless variable assignments in util.opener. The original idea might have been to prevent circular references, but as this assignment would have created another reference, this makes no difference.
author Thomas Arendsen Hein <thomas@intevation.de>
date Thu, 21 Jun 2007 19:24:27 +0200
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