/usr/lib64/python3.9/site-packages/cffi/__pycache__
Edit: /usr/lib64/python3.9/site-packages/cffi/__pycache__/verifier.cpython-39.pyc (9288B)
a
(ˆ`Ç+ ã @ sê d dl Z d dlZd dlZd dlZd dlZddlmZ ddlmZ ddlm Z e j
dkrhd dlZdd„ Z
nd dlZd d„ Z
e j
d
krŠejZnG dd„ dejƒZG d
d„ deƒZdZdd„ Zdadd„ Zdd„ Zddd„Zdd„ Zdd„ ZdS )é Né )Ú__version_verifier_modules__)Úffiplatform)ÚVerificationError)é r c C s t jjd d … S ©N)Ú importlibÚ machineryÚEXTENSION_SUFFIXES© r r ú3/usr/lib64/python3.9/site-packages/cffi/verifier.pyÚ_extension_suffixes s r
c C s dd„ t ¡ D ƒS )Nc S s g | ]\}}}|t jkr|‘qS r )ÚimpÚC_EXTENSION)Ú.0ÚsuffixÚ_Útyper r r Ú
s
ÿz'_extension_suffixes..)r Zget_suffixesr r r r r
s ©r c s e Zd Z‡ fdd„Z‡ ZS )ÚNativeIOc s( t |tƒr| d¡}tt| ƒ |¡ d S )NÚascii)Ú
isinstanceZunicodeÚencodeÚsuperr Úwrite)ÚselfÚs©Ú __class__r r r s
zNativeIO.write)Ú__name__Ú
__module__Ú__qualname__r Ú
__classcell__r r r r r s r c @ sz e Zd Zddd„Zd dd„Zd d
„ Zdd„ Zd
d„ Zdd„ Zdd„ Z dd„ Z
dd„ Zdd„ Zd!dd„Z
dd„ Zdd„ ZdS )"ÚVerifierNÚ Fú.cc K sv |j jrtd|j jf ƒ‚|| _|| _|s4t |¡}t||ƒ}
|
| ƒ| _| j |¡ | | _
| ||
¡| _|rz|rxt
dƒ‚n¢d tjd d… t||g|j ¡}tjdkr°| d¡}tt |dd d… ¡d @ ƒ}| d
¡ d¡}tt |dd d… ¡d @ ƒ}| d
¡ d¡}d|| jj||f }tƒ d }|�p0tƒ | _tj | j|| ¡| _ tj | j|| ¡| _!|| _"d| _#d| _$d S )NzKfeature not supported with ffi.verify(), but only with ffi.set_source(): %sz)can't specify both 'modulename' and 'tag'ú r r zutf-8r é l ÿÿ Ú0xÚLr Ú0z_cffi_%s_%s%s%sF)%Z_parserZ_uses_new_featurer ÚffiÚpreambler ZflattenÚ_locate_engine_classÚ_vengineZpatch_extension_kwdsÚflagsÚmake_relative_toÚkwdsÚ TypeErrorÚjoinÚsysÚversionr Z_cdefsourcesÚversion_infor ÚhexÚbinasciiÚcrc32ÚlstripÚrstripZ
_class_keyÚ_get_so_suffixesÚ_caller_dir_pycacheÚtmpdirÚosÚpathÚsourcefilenameÚmodulefilenameÚext_packageÚ_has_sourceÚ_has_module)r r, r- r? Z
modulenamerD ÚtagÚforce_generic_engineZsource_extensionr0 Úrelative_tor2 Zflattened_kwdsZ
vengine_classÚkeyZk1Zk2r r r r Ú__init__ sN ÿÿ
ÿþ
ÿ
zVerifier.__init__c C sL | j j�0 | jr |du r tdƒ‚| |¡ W d ƒ n1 s>0 Y dS )zkWrite the C source code. It is produced in 'self.sourcefilename',
which can be tweaked beforehand.Nzsource code already written)r, Ú_lockrE r Ú
_write_source©r Úfiler r r Úwrite_sourceH s
ÿzVerifier.write_sourcec C sP | j j�4 | jrtdƒ‚| js&| ¡ | ¡ W d ƒ n1 sB0 Y dS )z„Write the C source code (if not done already) and compile it.
This produces a dynamic link library in 'self.modulefilename'.zmodule already compiledN)r, rL rF r rE rM Ú_compile_module©r r r r Úcompile_moduleQ s
zVerifier.compile_modulec C s^ | j j�B | js4| ¡ | js4| js,| ¡ | ¡ | ¡ W d ƒ S 1 sP0 Y dS )a" Get a C module from this Verifier instance.
Returns an instance of a FFILibrary class that behaves like the
objects returned by ffi.dlopen(), but that delegates all
operations to the C module. If necessary, the C code is written
and compiled first.
N)r, rL rF Ú_locate_modulerE rM rQ Ú
_load_libraryrR r r r Úload_library[ s
zVerifier.load_libraryc C sB t j | j¡}| dd¡d }| d¡r>ttdƒr>|d d… }|S )NÚ.r r Z_dZgettotalrefcountéþÿÿÿ)r@ rA ÚbasenamerC ÚsplitÚendswithÚhasattrr5 )r rY r r r Úget_module_namek s
zVerifier.get_module_namec C sn t ¡ | jsD| jj� | js&| ¡ W d ƒ n1 s:0 Y t | j¡}| ¡ }t j ||fi | j
¤ŽS r )r Z_hack_at_distutilsrE r, rL rM Zmaybe_relative_pathrB r] Ú
get_extensionr2 )r Z
sourcenameÚmodnamer r r r^ v s
&zVerifier.get_extensionc C s | j jS r )r/ Z_gen_python_modulerR r r r Úgenerates_python_module€ s z Verifier.generates_python_modulec sz |rvt j |¡rvt j |¡‰ | ¡ }tjD ]J}||v r*|| }t|ttfƒsZt d|f ƒ‚‡ fdd„|D ƒ}|||<