def splitbuf(buf): b = buf.peek(buf.used()) (ofs, bits) = _helpers.splitbuf(b) if ofs: buf.eat(ofs) return (buffer(b, 0, ofs), bits) return (None, 0)
def main(): buf = open(sys.argv[1]).read() ofs = 0 while ofs < len(buf): count, bits = _helpers.splitbuf(buffer(buf, ofs)) print "%s %s" % (count, bits) if count == 0: break ofs += count
def _splitbuf(buf, basebits, fanbits): while 1: b = buf.peek(buf.used()) (ofs, bits) = _helpers.splitbuf(b) if ofs > BLOB_MAX: ofs = BLOB_MAX if ofs: buf.eat(ofs) level = (bits-basebits)//fanbits # integer division yield buffer(b, 0, ofs), level else: break while buf.used() >= BLOB_MAX: # limit max blob size yield buf.get(BLOB_MAX), 0
def _splitbuf(buf, basebits, fanbits): while 1: b = buf.peek(buf.used()) (ofs, bits) = _helpers.splitbuf(b) if ofs > BLOB_MAX: ofs = BLOB_MAX if ofs: buf.eat(ofs) level = (bits - basebits) // fanbits # integer division yield buffer(b, 0, ofs), level else: break while buf.used() >= BLOB_MAX: # limit max blob size yield buf.get(BLOB_MAX), 0