@@ -691,9 +691,10 @@ def readinto1(self, b):
691
691
return self ._readinto (b , read1 = True )
692
692
693
693
def _readinto (self , b , read1 ):
694
- if not isinstance (b , memoryview ):
695
- b = memoryview (b )
696
- b = b .cast ('B' )
694
+ # XXX RustPython TODO: proper memoryview implementation
695
+ # if not isinstance(b, memoryview):
696
+ # b = memoryview(b)
697
+ # b = b.cast('B')
697
698
698
699
if read1 :
699
700
data = self .read1 (len (b ))
@@ -889,8 +890,10 @@ def write(self, b):
889
890
raise ValueError ("write to closed file" )
890
891
if isinstance (b , str ):
891
892
raise TypeError ("can't write str to binary stream" )
892
- with memoryview (b ) as view :
893
- n = view .nbytes # Size of any bytes-like object
893
+ # XXX RustPython TODO: proper memoryview implementation
894
+ # with memoryview(b) as view:
895
+ # n = view.nbytes # Size of any bytes-like object
896
+ n = len (b )
894
897
if n == 0 :
895
898
return 0
896
899
pos = self ._pos
@@ -1099,11 +1102,14 @@ def _readinto(self, buf, read1):
1099
1102
# Need to create a memoryview object of type 'b', otherwise
1100
1103
# we may not be able to assign bytes to it, and slicing it
1101
1104
# would create a new object.
1102
- if not isinstance (buf , memoryview ):
1103
- buf = memoryview (buf )
1104
- if buf .nbytes == 0 :
1105
+ # XXX RustPython TODO: proper memoryview implementation
1106
+ # if not isinstance(buf, memoryview):
1107
+ # buf = memoryview(buf)
1108
+ # if buf.nbytes == 0:
1109
+ # return 0
1110
+ # buf = buf.cast('B')
1111
+ if len (buf ) == 0 :
1105
1112
return 0
1106
- buf = buf .cast ('B' )
1107
1113
1108
1114
written = 0
1109
1115
with self ._read_lock :
@@ -1600,7 +1606,9 @@ def readall(self):
1600
1606
1601
1607
def readinto (self , b ):
1602
1608
"""Same as RawIOBase.readinto()."""
1603
- m = memoryview (b ).cast ('B' )
1609
+ # XXX RustPython TODO: proper memoryview implementation
1610
+ # m = memoryview(b).cast('B')
1611
+ m = b
1604
1612
data = self .read (len (m ))
1605
1613
n = len (data )
1606
1614
m [:n ] = data
0 commit comments