[pypy-commit] pypy py3k-memoryview: Define format/itemsize on each Buffer subclass.

Manuel Jacob noreply at buildbot.pypy.org
Mon Mar 4 22:53:44 CET 2013


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)


More information about the pypy-commit mailing list