def str_splitlines__Bytearray_ANY(space, w_bytearray, w_keepends): w_str = str__Bytearray(space, w_bytearray) w_result = stringobject.str_splitlines__String_ANY(space, w_str, w_keepends) return space.newlist([ new_bytearray(space, space.w_bytearray, makebytearraydata_w(space, w_entry)) for w_entry in space.unpackiterable(w_result) ])
def _strip(space, w_bytearray, u_chars, left, right): # note: mostly copied from stringobject._strip # should really be shared u_self = w_bytearray.data lpos = 0 rpos = len(u_self) if left: while lpos < rpos and u_self[lpos] in u_chars: lpos += 1 if right: while rpos > lpos and u_self[rpos - 1] in u_chars: rpos -= 1 assert rpos >= 0 return new_bytearray(space, space.w_bytearray, u_self[lpos:rpos])