OwlCyberSecurity - MANAGER
Edit File: modulefinder.cpython-34.pyc
� e f}[������������������@���s���d��Z��d�d�l�Z�d�d�l�Z�d�d�l�Z�d�d�l�Z�d�d�l�Z�d�d�l�Z�d�d�l�Z�d�d�l �Z �d�d�l �Z �e �j�����!�e �j�d�e ���d�d�l�Z�Wd�QXe�e�j�j�d���g���Z�e�e�j�j�d���g���Z�e�e�j�j�d���g���Z�e�e�j�j�d���g���Z�e�e�g�Z�e�e�j�g���Z�i��Z�d�d ����Z�i��Z�d �d����Z�Gd�d ����d ���Z�Gd�d����d���Z�d�d����Z�e�d�k�r�y �e����Z �Wn�e!�k �r�e"�d���Yn�Xn��d�S)z3Find modules used by a script, using introspection.�����N�ignore� LOAD_CONST�IMPORT_NAME� STORE_NAME�STORE_GLOBALc�������������C���s���t��j�|��g����j�|���d��S)N)�packagePathMap� setdefault�append)Zpackagename�path��r����1/opt/alt/python34/lib64/python3.4/modulefinder.py�AddPackagePath!���s����r ���c�������������C���s���|�t��|��<d��S)N)�replacePackageMap)Zoldname�newnamer���r���r����ReplacePackage,���s����r���c���������������@���s.���e��Z�d��Z�d�d�d�d���Z�d�d����Z�d�S)�ModuleNc�������������C���s:���|�|��_��|�|��_�|�|��_�d��|��_�i��|��_�i��|��_�d��S)N)�__name__�__file__�__path__�__code__�globalnames�starimports)�self�name�filer ���r���r���r����__init__2���s���� zModule.__init__c�������������C���sj���d�|��j��f�}�|��j�d��k �r6�|�d�|��j�f�}�n��|��j�d��k �r\�|�d�|��j�f�}�n��|�d�}�|�S)Nz Module(%rz, %r�))r���r���r���)r����sr���r���r����__repr__?���s���� zModule.__repr__)r���� __module__�__qualname__r���r���r���r���r���r���r���0���s��� r���c���������������@���sc��e��Z�d��Z�d�d�g��g��d�d���Z�d�d����Z�d�d����Z�d �d ����Z�d�d����Z�d �d����Z�d�d�d6�d�d���Z �d7�d�d���Z �d�d����Z�d�d����Z�d�d�d���Z �d�d����Z�d�d����Z�d�d����Z�d �d!����Z�d8�d"�d#���Z�e�j�d$�d%���Z�d&�d'����Z�d(�d)����Z�d*�d+����Z�d�d,�d-���Z�d.�d/����Z�d0�d1����Z�d2�d3����Z�d4�d5����Z�d�S)9�ModuleFinderNr���c�������������C���sd���|�d��k�r�t��j�}�n��|�|��_�i��|��_�i��|��_�|�|��_�d�|��_�|�|��_�|�|��_�g��|��_�d��S)Nr���) �sysr ����modules� badmodules�debug�indent�excludes� replace_paths�processed_paths)r���r ���r%���r'���r(���r���r���r���r���J���s���� zModuleFinder.__init__c�������������G���s~���|�|��j��k�rz�x'�t�|��j���D]�}�t�d�d�d��q�Wt�|�d�d��x$�|�D]�}�t�t�|���d�d��qP�Wt����n��d��S)Nz �end� )r%����ranger&����print�repr)r����level�str�args�i�argr���r���r����msgV���s���� zModuleFinder.msgc�������������G���s=���|�d�}�|�|��j��k�r9�|��j�d�|��_�|��j�|����n��d��S)Nr�������)r%���r&���r4���)r���r1���r/���r���r���r����msgin_���s���� zModuleFinder.msginc�������������G���s=���|�d�}�|�|��j��k�r9�|��j�d�|��_�|��j�|����n��d��S)Nr���r5���)r%���r&���r4���)r���r1���r/���r���r���r����msgoute���s���� zModuleFinder.msgoutc�������������C���sT���|��j��d�d�|���t�|����/�}�d�d�t�j�f�}�|��j�d�|�|�|���Wd��QXd��S)N����� run_script���r�__main__)r4����open�imp� PY_SOURCE�load_module)r����pathname�fp�stuffr���r���r���r9���k���s����zModuleFinder.run_scriptc�������������C���sq���t��j�j�|���\�}�}�t��j�j�|���\�}�}�t�|����/�}�|�d�t�j�f�}�|��j�|�|�|�|���Wd��QXd��S)Nr;���)�osr ����split�splitextr=���r>���r?���r@���)r���rA����dirr���ZextrB���rC���r���r���r���� load_fileq���s ����zModuleFinder.load_filer5���c������� ������C���s����|��j��d�d�|�|�|�|���|��j�|�d�|��}�|��j�|�|���\�}�}�|��j�|�|���}�|�se�|�S|�j�r��|��j�|�|���n��d��S)N�����import_hookr/���)r4����determine_parent�find_head_package� load_tailr����ensure_fromlist) r���r����caller�fromlistr/����parent�q�tail�mr���r���r���rJ���x���s���� zModuleFinder.import_hookc�������������C���s���|��j��d�d�|�|���|�s)�|�d�k�r=�|��j�d�d���d��S|�j�}�|�d�k�r|�j�rh�|�d�8}�n��|�d�k�r��|��j�|�}�|�|�k�s��t���|��j�d�d�|���|�S|�j�d���|�k��r��t�d�����n��d�j�|�j �d���d��|�����}�|��j�|�}�|��j�d�d�|���|�S|�j�rT|��j�|�}�|�|�k�s=t���|��j�d�d�|���|�Sd�|�k�r�|�j �d���}�|�d��|���}�|��j�|�}�|�j�|�k�s�t���|��j�d�d�|���|�S|��j�d�d���d��S) N����rK���r���zdetermine_parent -> Noner5���zdetermine_parent ->�.zrelative importpath too deep)r6���r7���r���r���r#����AssertionError�count�ImportError�joinrE����rfind)r���rO���r/���ZpnamerQ���r2���r���r���r���rK�������sB���� # zModuleFinder.determine_parentc�������������C���s>��|��j��d�d�|�|���d�|�k�rX�|�j�d���}�|�d��|���}�|�|�d�d����}�n�|�}�d�}�|�r��d�|�j�|�f�}�n�|�}�|��j�|�|�|���}�|�r��|��j�d�d�|�|�f���|�|�f�S|�r|�}�d��}�|��j�|�|�|���}�|�r|��j�d�d�|�|�f���|�|�f�Sn��|��j�d�d�|���t�d �|�����d��S) NrU���rL���rV���r5���r:���z%s.%szfind_head_package ->z"raise ImportError: No module namedzNo module named )r6����findr���� import_moduler7���rY���)r���rQ���r���r2����headrS���ZqnamerR���r���r���r���rL�������s.���� zModuleFinder.find_head_packagec�������������C���s����|��j��d�d�|�|���|�}�x��|�r��|�j�d���}�|�d�k��rO�t�|���}�n��|�d��|���|�|�d�d����}�}�d�|�j�|�f�}�|��j�|�|�|���}�|�s�|��j�d�d�|���t�d�|�����q�q�W|��j�d�d �|���|�S) NrU���rM���rV���r���r5���z%s.%sz"raise ImportError: No module namedzNo module named zload_tail ->)r6���r\����lenr���r]���r7���rY���)r���rR���rS���rT���r2���r^���Zmnamer���r���r���rM�������s���� �%zModuleFinder.load_tailc�������������C���s����|��j��d�d�|�|�|���x��|�D]��}�|�d�k�ri�|�s��|��j�|���}�|�rf�|��j�|�|�d���qf�q��q �t�|�|���s �d�|�j�|�f�}�|��j�|�|�|���}�|�s��t�d�|�����q��q �q �Wd��S)NrU���rN����*r5���z%s.%szNo module named )r4����find_all_submodulesrN����hasattrr���r]���rY���)r���rT���rP���Z recursive�sub�all�subnameZsubmodr���r���r���rN�������s���� zModuleFinder.ensure_fromlistc������� ������C���sB��|�j��s �d��Si��}�g��}�|�t�j�j�d��d����7}�|�t�j�j�d��d����7}�|�t�j�j�d��d����7}�x��|�j��D]��}�y�t�j�|���}�Wn(�t�k �r��|��j �d�d�|���wq�Yn�Xx|�|�D]t�}�d��}�xF�|�D]>�}�t �|���} �|�| �d����|�k�r��|�d��| ���}�Pq��q��W|�r��|�d�k�r��|�|�|�<q��q��Wqq�W|�j����S)Nr8���zcan't list directoryr���)r���� importlib� machinery�EXTENSION_SUFFIXES�SOURCE_SUFFIXES�BYTECODE_SUFFIXESrD����listdir�OSErrorr4���r_����keys) r���rT���r#����suffixesrG����namesr����modZsuff�nr���r���r���ra�������s.���� z ModuleFinder.find_all_submodulesc�������������C���s\��|��j��d�d�|�|�|���y�|��j�|�}�Wn�t�k �r>�Yn�X|��j�d�d�|���|�S|�|��j�k�ry�|��j�d�d���d��S|�r��|�j�d��k�r��|��j�d�d���d��Sy+�|��j�|�|�o��|�j�|���\�}�}�}�Wn)�t�k �r��|��j�d�d�d����d��SYn�Xz�|��j�|�|�|�|���}�Wd��|�r+|�j ����n��X|�rEt �|�|�|���n��|��j�d�d�|���|�S)NrI���r]���zimport_module ->zimport_module -> None)r6���r#����KeyErrorr7���r$���r����find_modulerY���r@����close�setattr)r���Zpartname�fqnamerQ���rT���rB���rA���rC���r���r���r���r]�������s6���� " zModuleFinder.import_modulec�������������C���s���|�\�}�}�}�|��j��d�d�|�|�o'�d�|���|�t�j�k�rf�|��j�|�|���}�|��j�d�d�|���|�S|�t�j�k�r��t�|�j����d�|�d���} �n��|�t�j�k�ry�t �j �j�|�j������} �WnE�t�k �r}�z%�|��j�d�d�t �|���|������WYd��d��}�~�Xn�Xt�j�| ���} �n�d��} �|��j�|���}�|�|�_�| �rt|��j�rX|��j�| ���} �n��| �|�_�|��j�| �|���n��|��j�d�d�|���|�S)Nr8���r@���rB���zload_module ->� �execzraise ImportError: )r6���r>���Z PKG_DIRECTORY�load_packager7���r?����compile�readZPY_COMPILEDrf���� _bootstrap�_validate_bytecode_headerrY���r0����marshal�loads� add_moduler���r(����replace_paths_in_coder���� scan_code)r���rv���rB���rA���� file_info�suffix�mode�typerT����coZmarshal_data�excr���r���r���r@�����s2���� zModuleFinder.load_modulec�������������C���sQ���|�|��j��k�r�i��|��j��|�<n��|�r<�d�|��j��|�|�j�<n�d�|��j��|�d�<d��S)Nr5����-)r$���r���)r���r���rO���r���r���r����_add_badmodule5��s ����zModuleFinder._add_badmodulec�������������C���sP��|�|��j��k�r#�|��j�|�|���d��Sy�|��j�|�|�d�|��WnN�t�k �r��}�z.�|��j�d�d�t�|�����|��j�|�|���WYd��d��}�~�Xn��X|�rLx��|�D]��}�|�|��j��k�r��|��j�|�|���q��n��y �|��j�|�|�|�g�d�|��Wq��t�k �rD}�z<�|��j�d�d�t�|�����|�d�|�}�|��j�|�|���WYd��d��}�~�Xq��Xq��Wn��d��S)Nr/���r8���zImportError:rV���)r$���r����rJ���rY���r4���r0���)r���r���rO���rP���r/���r4���rc����fullnamer���r���r����_safe_import_hook=��s&����# zModuleFinder._safe_import_hookc������� ������c���sk��|�j��}�|�j�}�|�j�}�t�t�t�}�x;|�rft�|�d�g���}�|�t�k�r��|�d�|�d�d�����\�}�d�|�|�f�f�V|�d�d����}�q,�n��|�d��d�d���|�k�r4|�d�|�d��d�����\�} �} �}�|�| �}�|�d�k�rd�|�| �|�|�f�f�Vn�d �|�|�| �|�|�f�f�V|�d�d����}�q,�n��|�t�k�rS|�d�d����}�q,�|�d�d����}�q,�Wd��S) Nr���z<Hr5���rI����store� ���z<xHxHxH�absolute_import�relative_import)�co_code�co_names� co_constsr���r����bytes� STORE_OPS� HAVE_ARGUMENT) r���r�����unpack�codero����constsZLOAD_LOAD_AND_IMPORT�cZopargZoparg_1Zoparg_2Zoparg_3r/���r���r���r����scan_opcodes_25T��s,���� " zModuleFinder.scan_opcodes_25c�������������C���s<��|�j��}�|��j�}�x�|�|���D]�\�}�}�|�d�k�rP�|�\�}�d�|�j�|�<q�|�d�k�r{|�\�}�}�d�} �|�d��k �r��d�|�k�r��d�} �n��d�d����|�D��}�n��|��j�|�|�|�d�d��| �r�d��} �|�j�r��|��j�j�|�j�d �|���} �n��| �d��k�r|��j�j�|���} �n��| �d��k �rh|�j�j�| �j���|�j �j�| �j ���| �j �d��k�rud�|�j �|�<quqxd�|�j �|�<q�q�|�d �k�r�|�\�}�}�}�|�r�|��j�|�|�|�d�|��q�|��j�|�d�|��}�|��j�|�j�d��|�d�d��q�t�|�����q�Wx9�|�j �D].�} �t�| �t�|�����r|��j�| �|���qqWd��S)Nr����r5���r����r���r`���c�������������S���s"���g��|��]�}�|�d��k�r�|���q�S)r`���r���)�.0�fr���r���r���� <listcomp>~��s��� �z*ModuleFinder.scan_code.<locals>.<listcomp>r/���rV���r����)r����r����r���r����r���r#����getr����updater���r���rK����RuntimeErrorr����� isinstancer����r����)r���r����rT���r�����scannerZwhatr1���r���rP���Z have_starZmmr/���rQ���r����r���r���r���r����q��sH���� zModuleFinder.scan_codec�������������C���s����|��j��d�d�|�|���t�j�|���}�|�r4�|�}�n��|��j�|���}�|�|�_�|�g�|�_�|�j�t�j�|�g����|�_�|��j�d�|�j���\�}�}�}�z1�|��j�|�|�|�|���|��j �d�d�|���|�SWd��|�r��|�j ����n��Xd��S)Nr8���ry���r���zload_package ->)r6���r���r����r����r���r���r���rs���r@���r7���rt���)r���rv���rA���r���rT���rB���ZbufrC���r���r���r���ry������s���� zModuleFinder.load_packagec�������������C���s5���|�|��j��k�r�|��j��|�St�|���|��j��|�<}�|�S)N)r#���r���)r���rv���rT���r���r���r���r�������s����zModuleFinder.add_modulec�������������C���s����|�d��k �r �|�j��d�|�}�n�|�}�|�|��j�k�rW�|��j�d�d�|���t�|�����n��|�d��k�r��|�t�j�k�r��d��d��d�d�t�j�f�f�S|��j�}�n��t�j �|�|���S)NrV���rI���zfind_module -> Excludedr:���) r���r'���r7���rY���r"����builtin_module_namesr>���Z C_BUILTINr ���rs���)r���r���r ���rQ���r����r���r���r���rs������s����zModuleFinder.find_modulec�������������C���s���t�����t��d�d���t��d�d���t�|��j�j������}�xa�|�D]Y�}�|��j�|�}�|�j�rn�t��d�d�d��n�t��d�d�d��t��d �|�|�j�p��d ���q?�W|��j����\�}�}�|�rt�����t��d���xF�|�D];�}�t�|��j�|�j������}�t��d�|�d �d�j�|�����q��Wn��|�r~t�����t��d�d�d��t��d���xF�|�D];�}�t�|��j�|�j������}�t��d�|�d �d�j�|�����q<Wn��d�S)z�Print a report to stdout, listing the found modules with their paths, as well as modules that are missing, or seem to be missing. z %-25s %s�Name�File�----�Pr*���r+���rT���z%-25sr:���zMissing modules:�?z imported fromz, z7Submodules that appear to be missing, but could also bez#global names in the parent package:N)zNamer����)r����r����) r-����sortedr#���rm���r���r����any_missing_mayber$���rZ���)r���rm����keyrT����missing�mayber���Zmodsr���r���r����report���s0���� # zModuleFinder.reportc�������������C���s���|��j�����\�}�}�|�|�S)z�Return a list of modules that appear to be missing. Use any_missing_maybe() if you want to know which modules are certain to be missing, and which *may* be missing. )r����)r���r����r����r���r���r����any_missing���s����zModuleFinder.any_missingc�������������C���s.��g��}�g��}�x|��j��D]��}�|�|��j�k�r1�q�n��|�j�d���}�|�d�k��r_�|�j�|���q�n��|�|�d�d���}�|�d�|���}�|��j�j�|���}�|�d�k �r��|�|��j��|�k�r��|�j�|���q|�|�j�k�r��q|�j�r��|�j�|���q|�j�|���q�|�j�|���q�W|�j����|�j����|�|�f�S)a���Return two lists, one with modules that are certainly missing and one with modules that *may* be missing. The latter names could either be submodules *or* just global names in the package. The reason it can't always be determined is that it's impossible to tell which names are imported when "from module import *" is done with an extension module, short of actually importing it. rV���r���r5���N) r$���r'���r[���r ���r#���r����r���r����sort)r���r����r����r���r2���re���ZpkgnameZpkgr���r���r���r�������s0���� zModuleFinder.any_missing_maybec�������������C���s���t��j�j�|�j���}�}�xD�|��j�D]9�\�}�}�|�j�|���r#�|�|�t�|���d����}�Pq#�q#�W|��j�r��|�|��j�k�r��|�|�k�r��|��j �d�d�|�|�f���n�|��j �d�d�|�f���|��j�j �|���n��t�|�j���}�xM�t �t�|�����D]9�}�t�|�|�t�|�����r��|��j�|�|���|�|�<q��q��Wt�j�|�j�|�j�|�j�|�j�|�j�|�j�t�|���|�j�|�j�|�|�j�|�j�|�j�|�j�|�j ���S)Nr8���zco_filename %r changed to %rz co_filename %r remains unchanged)!rD���r ����normpath�co_filenamer(���� startswithr_���r%���r)���r7���r ����listr����r,���r����r����r�����types�CodeType�co_argcount�co_kwonlyargcount� co_nlocals�co_stacksize�co_flagsr�����tupler�����co_varnames�co_name�co_firstlineno� co_lnotab�co_freevars�co_cellvars)r���r����Znew_filenameZoriginal_filenamer����r;���r����r2���r���r���r���r����&��s,����z"ModuleFinder.replace_paths_in_code���r����r����)r���r���r ���r���r4���r6���r7���r9���rH���rJ���rK���rL���rM���rN���ra���r]���r@���r����r�����structr����r����r����ry���r����rs���r����r����r����r����r���r���r���r���r!���H���s2��� #1".r!���c��������������C���sf��d�d��l��}��y)�|��j��t�j�d�d����d���\�}�}�Wn6�|��j�k �rm�}�z�t�|���d��SWYd��d��}�~�Xn�Xd�}�d�}�g��}�g��}�x��|�D]��\�}�} �|�d�k�r��|�d�}�n��|�d�k�r��d�}�n��|�d�k�r��|�| �j�t�j���}�n��|�d�k�rd�}�n��|�d�k�r��|�j�| ���q��q��W|�s0d �} �n �|�d�} �t�j �d��d����}�t�j �j �| ���|�d�<|�|�}�|�d�k�r�t�d ���x$�|�D]�}�t�d�t�|�����q�Wn��t�|�|�|���} �x��|�d�d����D]z�}�|�d�k�r�d�}�q�n��|�r:|�d�d����d �k�r*| �j �|�d��d���d��d�g���qG| �j �|���q�| �j�|���q�W| �j�| ���| �j����| �S)Nr���r5���zdmp:qx:z-dz-mz-pz-qz-xzhello.pyzpath:z r8���z.*r`������r����)�getoptr"����argv�errorr-���rE���rD����pathsepr ���r ����dirnamer.���r!���rJ���rH���r9���r����)r����Zoptsr1���r4���r%���ZdomodsZaddpathZexclude�o�aZscriptr ����item�mfr3���r���r���r����testC��sX����) # r����r<���z [interrupted])#�__doc__ZdisZimportlib._bootstraprf����importlib.machineryr~���rD���r"���r����r�����warnings�catch_warnings�simplefilter�PendingDeprecationWarningr>���r�����opname�indexr���r���r���r���r����r����r���r ���r���r���r���r!���r����r���r�����KeyboardInterruptr-���r���r���r���r����<module>���s>��� ���;