update lecture material to move to notebook
[harrypotter-wikipedia-cdsw] / win_unicode_console / buffer.py
diff --git a/win_unicode_console/buffer.py b/win_unicode_console/buffer.py
deleted file mode 100644 (file)
index cd5853c..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-
-from ctypes import (byref, POINTER, Structure, pythonapi,
-       c_int, c_char, c_char_p, c_void_p, py_object, c_ssize_t)
-import sys
-
-c_ssize_p = POINTER(c_ssize_t)
-
-PyObject_GetBuffer = pythonapi.PyObject_GetBuffer
-PyBuffer_Release = pythonapi.PyBuffer_Release
-
-
-PyBUF_SIMPLE = 0
-PyBUF_WRITABLE = 1
-
-
-class Py_buffer(Structure):
-       _fields_ = [
-               ("buf", c_void_p),
-               ("obj", py_object),
-               ("len", c_ssize_t),
-               ("itemsize", c_ssize_t),
-               ("readonly", c_int),
-               ("ndim", c_int),
-               ("format", c_char_p),
-               ("shape", c_ssize_p),
-               ("strides", c_ssize_p),
-               ("suboffsets", c_ssize_p),
-               ("internal", c_void_p)
-       ]
-       
-       if sys.version_info[0] < 3:
-               _fields_.insert(-1, ("smalltable", c_ssize_t * 2))
-       
-       @classmethod
-       def get_from(cls, obj, flags=PyBUF_SIMPLE):
-               buf = cls()
-               PyObject_GetBuffer(py_object(obj), byref(buf), flags)
-               return buf
-       
-       def release(self):
-               PyBuffer_Release(byref(self))
-
-
-def get_buffer(obj, writable=False):
-       buf = Py_buffer.get_from(obj, PyBUF_WRITABLE if writable else PyBUF_SIMPLE)
-       try:
-               buffer_type = c_char * buf.len
-               return buffer_type.from_address(buf.buf)
-       finally:
-               buf.release()
-

Benjamin Mako Hill || Want to submit a patch?