/usr/lib64/python2.6/site-packages/cffi
NameSizeModeActions
api.py296720644editdlrm
api.pyc294490644editdlrm
backend_ctypes.py401300644editdlrm
backend_ctypes.pyc458290644editdlrm
cffi_opcode.py53640644editdlrm
cffi_opcode.pyc56610644editdlrm
commontypes.py77250644editdlrm
commontypes.pyc64240644editdlrm
cparser.py287950644editdlrm
cparser.pyc201530644editdlrm
ffiplatform.py37860644editdlrm
ffiplatform.pyc48100644editdlrm
gc_weakref.py6420644editdlrm
gc_weakref.pyc12440644editdlrm
lock.py7470644editdlrm
lock.pyc4470644editdlrm
model.py191160644editdlrm
model.pyc220070644editdlrm
parse_c_type.h54940644editdlrm
recompiler.py507800644editdlrm
recompiler.pyc455770644editdlrm
setuptools_ext.py61580644editdlrm
setuptools_ext.pyc69910644editdlrm
vengine_cpy.py411640644editdlrm
vengine_cpy.pyc377550644editdlrm
vengine_gen.py263350644editdlrm
vengine_gen.pyc246250644editdlrm
verifier.py110580644editdlrm
verifier.pyc114480644editdlrm
_cffi_include.h92610644editdlrm
__init__.py4830644editdlrm
__init__.pyc5360644editdlrm
Edit: /usr/lib64/python2.6/site-packages/cffi/ffiplatform.py (3786B)
import sys, os class VerificationError(Exception): """ An error raised when verification fails """ class VerificationMissing(Exception): """ An error raised when incomplete structures are passed into cdef, but no verification has been done """ LIST_OF_FILE_NAMES = ['sources', 'include_dirs', 'library_dirs', 'extra_objects', 'depends'] def _hack_at_distutils(): # Windows-only workaround for some configurations: see # https://bugs.python.org/issue23246 (Python 2.7.9) if sys.platform == "win32": try: import setuptools # for side-effects, patches distutils except ImportError: pass def get_extension(srcfilename, modname, sources=(), **kwds): _hack_at_distutils() # *before* the following import from distutils.core import Extension allsources = [srcfilename] allsources.extend(sources) return Extension(name=modname, sources=allsources, **kwds) def compile(tmpdir, ext): """Compile a C extension module using distutils.""" saved_environ = os.environ.copy() try: outputfilename = _build(tmpdir, ext) outputfilename = os.path.abspath(outputfilename) finally: # workaround for a distutils bugs where some env vars can # become longer and longer every time it is used for key, value in saved_environ.items(): if os.environ.get(key) != value: os.environ[key] = value return outputfilename def _build(tmpdir, ext): # XXX compact but horrible :-( _hack_at_distutils() from distutils.core import Distribution import distutils.errors # dist = Distribution({'ext_modules': [ext]}) dist.parse_config_files() options = dist.get_option_dict('build_ext') options['force'] = ('ffiplatform', True) options['build_lib'] = ('ffiplatform', tmpdir) options['build_temp'] = ('ffiplatform', tmpdir) # try: dist.run_command('build_ext') except (distutils.errors.CompileError, distutils.errors.LinkError) as e: raise VerificationError('%s: %s' % (e.__class__.__name__, e)) # cmd_obj = dist.get_command_obj('build_ext') [soname] = cmd_obj.get_outputs() return soname try: from os.path import samefile except ImportError: def samefile(f1, f2): return os.path.abspath(f1) == os.path.abspath(f2) def maybe_relative_path(path): if not os.path.isabs(path): return path # already relative dir = path names = [] while True: prevdir = dir dir, name = os.path.split(prevdir) if dir == prevdir or not dir: return path # failed to make it relative names.append(name) try: if samefile(dir, os.curdir): names.reverse() return os.path.join(*names) except OSError: pass # ____________________________________________________________ try: int_or_long = (int, long) import cStringIO except NameError: int_or_long = int # Python 3 import io as cStringIO def _flatten(x, f): if isinstance(x, str): f.write('%ds%s' % (len(x), x)) elif isinstance(x, dict): keys = sorted(x.keys()) f.write('%dd' % len(keys)) for key in keys: _flatten(key, f) _flatten(x[key], f) elif isinstance(x, (list, tuple)): f.write('%dl' % len(x)) for value in x: _flatten(value, f) elif isinstance(x, int_or_long): f.write('%di' % (x,)) else: raise TypeError( "the keywords to verify() contains unsupported object %r" % (x,)) def flatten(x): f = cStringIO.StringIO() _flatten(x, f) return f.getvalue()