'Internal: read binary data.'

def read_binary(self):

    self.file = self.make_file('b')
    todo = self.length
    if (todo >= 0):
        while (todo > 0):
            data = self.fp.read(min(todo, self.bufsize))
            if (not data):
                self.done = (-1)
                break
            self.file.write(data)
            todo = (todo - len(data))
