Author: Manuel Jacob Branch: py3k-memoryview Changeset: r62026:61e3a8d0d557 Date: 2013-03-04 22:53 +0100 http://bitbucket.org/pypy/pypy/changeset/61e3a8d0d557/
Log: Define format/itemsize on each Buffer subclass. diff --git a/pypy/interpreter/buffer.py b/pypy/interpreter/buffer.py --- a/pypy/interpreter/buffer.py +++ b/pypy/interpreter/buffer.py @@ -218,6 +218,8 @@ def __init__(self, value): self.value = value + self.format = 'B' + self.itemsize = 1 def getlength(self): return len(self.value) @@ -246,6 +248,8 @@ def __init__(self, space, w_obj): self.space = space self.w_obj = w_obj + self.format = 'B' + self.itemsize = 1 def getlength(self): space = self.space @@ -284,6 +288,8 @@ self.buffer = buffer self.offset = offset self.size = size + self.format = 'B' + self.itemsize = 1 def getlength(self): at_most = self.buffer.getlength() - self.offset diff --git a/pypy/module/__pypy__/bytebuffer.py b/pypy/module/__pypy__/bytebuffer.py --- a/pypy/module/__pypy__/bytebuffer.py +++ b/pypy/module/__pypy__/bytebuffer.py @@ -10,6 +10,8 @@ def __init__(self, len): self.data = ['\x00'] * len + self.format = 'B' + self.itemsize = 1 def getlength(self): return len(self.data) diff --git a/pypy/module/_cffi_backend/cbuffer.py b/pypy/module/_cffi_backend/cbuffer.py --- a/pypy/module/_cffi_backend/cbuffer.py +++ b/pypy/module/_cffi_backend/cbuffer.py @@ -14,6 +14,8 @@ def __init__(self, raw_cdata, size): self.raw_cdata = raw_cdata self.size = size + self.format = 'B' + self.itemsize = 1 def getlength(self): return self.size diff --git a/pypy/module/_io/interp_bufferedio.py b/pypy/module/_io/interp_bufferedio.py --- a/pypy/module/_io/interp_bufferedio.py +++ b/pypy/module/_io/interp_bufferedio.py @@ -124,6 +124,8 @@ self.buf = buf self.start = start self.length = length + self.format = 'B' + self.itemsize = 1 def getlength(self): return self.length diff --git a/pypy/module/_io/interp_bytesio.py b/pypy/module/_io/interp_bytesio.py --- a/pypy/module/_io/interp_bytesio.py +++ b/pypy/module/_io/interp_bytesio.py @@ -18,6 +18,8 @@ class BytesIOBuffer(RWBuffer): def __init__(self, w_bytesio): self.w_bytesio = w_bytesio + self.format = 'B' + self.itemsize = 1 def getlength(self): return int(self.w_bytesio.string_size) diff --git a/pypy/module/_rawffi/buffer.py b/pypy/module/_rawffi/buffer.py --- a/pypy/module/_rawffi/buffer.py +++ b/pypy/module/_rawffi/buffer.py @@ -7,6 +7,8 @@ def __init__(self, datainstance): self.datainstance = datainstance + self.format = 'B' + self.itemsize = 1 def getlength(self): return self.datainstance.getrawsize() diff --git a/pypy/module/cpyext/buffer.py b/pypy/module/cpyext/buffer.py --- a/pypy/module/cpyext/buffer.py +++ b/pypy/module/cpyext/buffer.py @@ -20,6 +20,8 @@ self.c_buf = c_buf self.c_len = c_len self.w_obj = w_obj + self.format = 'B' + self.itemsize = 1 def destructor(self): assert isinstance(self, CBufferMixin) diff --git a/pypy/module/cpyext/slotdefs.py b/pypy/module/cpyext/slotdefs.py --- a/pypy/module/cpyext/slotdefs.py +++ b/pypy/module/cpyext/slotdefs.py @@ -235,6 +235,8 @@ self.ptr = ptr self.size = size self.w_obj = w_obj # kept alive + self.format = 'B' + self.itemsize = 1 def getlength(self): return self.size diff --git a/pypy/module/micronumpy/arrayimpl/concrete.py b/pypy/module/micronumpy/arrayimpl/concrete.py --- a/pypy/module/micronumpy/arrayimpl/concrete.py +++ b/pypy/module/micronumpy/arrayimpl/concrete.py @@ -411,6 +411,9 @@ class ArrayBuffer(RWBuffer): def __init__(self, impl): self.impl = impl + #XXX + self.format = 'B' + self.itemsize = 1 def getitem(self, item): return raw_storage_getitem(lltype.Char, self.impl.storage, item) diff --git a/pypy/objspace/std/bytearrayobject.py b/pypy/objspace/std/bytearrayobject.py --- a/pypy/objspace/std/bytearrayobject.py +++ b/pypy/objspace/std/bytearrayobject.py @@ -662,6 +662,8 @@ class BytearrayBuffer(RWBuffer): def __init__(self, data): self.data = data + self.format = 'B' + self.itemsize = 1 def getlength(self): return len(self.data) _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit