move cython shadow module to fontTools.misc
This commit is contained in:
parent
15d8313f13
commit
b2788f8656
@ -19,19 +19,7 @@ try:
|
||||
import cython
|
||||
except ImportError:
|
||||
# if cython not installed, use mock module with no-op decorators and types
|
||||
from types import SimpleNamespace
|
||||
|
||||
def _empty_decorator(x):
|
||||
return x
|
||||
|
||||
cython = SimpleNamespace()
|
||||
cython.compiled = False
|
||||
for name in ("double", "complex", "int"):
|
||||
setattr(cython, name, None)
|
||||
for name in ("cfunc", "inline"):
|
||||
setattr(cython, name, _empty_decorator)
|
||||
cython.locals = lambda **_: _empty_decorator
|
||||
cython.returns = lambda _: _empty_decorator
|
||||
from fontTools.misc import cython
|
||||
|
||||
import math
|
||||
|
||||
|
25
Lib/fontTools/misc/cython.py
Normal file
25
Lib/fontTools/misc/cython.py
Normal file
@ -0,0 +1,25 @@
|
||||
""" Exports a no-op 'cython' namespace similar to
|
||||
https://github.com/cython/cython/blob/master/Cython/Shadow.py
|
||||
|
||||
This allows to optionally compile @cython decorated functions
|
||||
(when cython is available at built time), or run the same code
|
||||
as pure-python, without runtime dependency on cython module.
|
||||
|
||||
We only define the symbols that we use. E.g. see fontTools.cu2qu
|
||||
"""
|
||||
|
||||
from types import SimpleNamespace
|
||||
|
||||
def _empty_decorator(x):
|
||||
return x
|
||||
|
||||
compiled = False
|
||||
|
||||
for name in ("double", "complex", "int"):
|
||||
globals()[name] = None
|
||||
|
||||
for name in ("cfunc", "inline"):
|
||||
globals()[name] = _empty_decorator
|
||||
|
||||
locals = lambda **_: _empty_decorator
|
||||
returns = lambda _: _empty_decorator
|
Loading…
x
Reference in New Issue
Block a user