Skip to content

Commit 7119ef5

Browse files
committed
fix PyAccess docs using deferred_error
1 parent 41a7521 commit 7119ef5

1 file changed

Lines changed: 19 additions & 13 deletions

File tree

src/PIL/PyAccess.py

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -23,23 +23,29 @@
2323
import logging
2424
import sys
2525

26-
from cffi import FFI
26+
try:
27+
from cffi import FFI
28+
29+
defs = """
30+
struct Pixel_RGBA {
31+
unsigned char r,g,b,a;
32+
};
33+
struct Pixel_I16 {
34+
unsigned char l,r;
35+
};
36+
"""
37+
ffi = FFI()
38+
ffi.cdef(defs)
39+
except ImportError as ex:
40+
# Allow error import for doc purposes, but error out when accessing
41+
# anything in core.
42+
from ._util import deferred_error
43+
44+
FFI = ffi = deferred_error(ex)
2745

2846
logger = logging.getLogger(__name__)
2947

3048

31-
defs = """
32-
struct Pixel_RGBA {
33-
unsigned char r,g,b,a;
34-
};
35-
struct Pixel_I16 {
36-
unsigned char l,r;
37-
};
38-
"""
39-
ffi = FFI()
40-
ffi.cdef(defs)
41-
42-
4349
class PyAccess:
4450
def __init__(self, img, readonly=False):
4551
vals = dict(img.im.unsafe_ptrs)

0 commit comments

Comments
 (0)