This patch is a Python2-Python3 compatibility issue.
The builtin function buffer() in Python2 is renamed to memoryview() in Python3.
Although memoryview() is also defined in Python2, its behavior has subtle difference, so buffer() can not be simply replaced to memoryview().
Python seems not to be able to pass argument in reference in function parameter, so it is not able to define a function that choose the implementaton of buffer()/memoryview().
So branching by if statement seems to be necessary.
This patch is a Python2-Python3 compatibility issue.
The builtin function buffer() in Python2 is renamed to memoryview() in Python3. Although memoryview() is also defined in Python2, its behavior has subtle difference, so buffer() can not be simply replaced to memoryview(). Python seems not to be able to pass argument in reference in function parameter, so it is not able to define a function that choose the implementaton of buffer()/memoryview(). So branching by if statement seems to be necessary.