Skip to content

Commit 08b84ae

Browse files
committed
Add property 'readonly' to class 'memoryview'.
1 parent da8f337 commit 08b84ae

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

graalpython/lib-graalpython/memoryview.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,24 @@ def __memoryview_getitem(self, key):
5252
return memoryview(res) if isinstance(res, type(self.__c_memoryview)) else res
5353
return __memoryview_getitem
5454

55+
def make_readonly():
56+
class Dummy:
57+
@property
58+
def readonly(self):
59+
return self.__c_memoryview.readonly
60+
61+
@readonly.setter
62+
def readonly(self, value):
63+
raise AttributeError("attribute 'readonly' of 'memoryview' objects is not writable")
64+
return Dummy.readonly
65+
5566
memoryview.__init__ = make_init()
5667
memoryview.__repr__ = lambda self: self.__c_memoryview.__repr__()
5768
memoryview.__len__ = lambda self: self.__c_memoryview.__len__()
5869
memoryview.__getitem__ = make_getitem()
5970
memoryview.__setitem__ = lambda self, key, value: self.__c_memoryview.__setitem__(key, value)
71+
memoryview.readonly = make_readonly()
6072

6173
del make_init
62-
del make_getitem
74+
del make_getitem
75+
del make_readonly

0 commit comments

Comments
 (0)