Tryag File Manager
Home
-
Turbo Force
Current Path :
/
usr
/
lib
/
python2.4
/
site-packages
/
yum
/
Upload File :
New :
File
Dir
//usr/lib/python2.4/site-packages/yum/yumRepo.pyo
mò •F»Oc�����������@���sÑ��d��k��Z��d��k�Z�d��k�Z�d��k�Z�d��k�Z�e�i�i�d�ƒ�d��k�Z�d�k�l �Z �d�k�l �Z �d��k�Z�d�k�l �Z �d��k�Z�d��k�Z�d�k�l�Z�d��k�Z�d��k�Z�d��k�Z�d�k�l�Z�d�k�l�Z�d�k�Td��k�Z�y�d �k�l�Z�e�Z�Wn�e�j �o �e�Z�n�Xd��k �Z �d��k!�Z!�d��k"�Z"�d��k#�Z#�d��k$�Z$�d��k%�Z%�d��k&�Z&�d��k'�Z'�e�Z(�e"�i)�d �e�i*�ƒ�e �i+�d�ƒ�Z,�e �i+�d�ƒ�Z-�d �e�i.�f�d�„��ƒ��YZ/�d�e�e�i0�f�d�„��ƒ��YZ1�e2�d�„�Z3�d��S(���Nt���media(���s ���URLGrabber(���s���default_grabber(���s���URLGrabError(���s ���Repository(���s���config(���s���misc(���t���*(���s���SSLt���ignores ���yum.Reposs���yum.verbose.Repost���YumPackageSackc�����������B���sY���t��Z�d��Z�d�„��Z�d�„��Z�d�„��Z�e�d�„�Z�d�e�d�d�„�Z�d�„��Z �d �„��Z �RS( ���s;���imports/handles package objects from an mdcache dict objectc���������C���s&���t��i�i�|��ƒ�|�|��_�h��|��_�d��S(���N(���t���packageSackt���PackageSackt���__init__t���selft���packageClasst���pct���added(���R���R���(����(����t/���/usr/lib/python2.4/site-packages/yum/yumRepo.pyR���I���s���� c���������C���s���|��i�ƒ��d��S(���N(���R���t���close(���R���(����(����R���t���__del__N���s����c���������C���s ���h��|��_�d��S(���N(���R���R ���(���R���(����(����R���R���Q���s����c��� ������C���s��|��i�i�|�ƒ�o �|�|��i�|�j�o�d��Sq3�n�t�|�ƒ�}�|�d�j�oÌ�d�}�x~�|�D]v�}�|�d�7}�|�o�|�i�|�|�|�ƒ�n�|�|�}�|��i �|�|�ƒ�} �|�| �_�|��i�|��i�|�| �ƒ�|��i�| �ƒ�qY�W|��i�i�|�ƒ�p�g��|��i�|�<n�|��i�|�i�d�ƒ�d�|��_�n|�d�d�g�j�oî�|��i�i�|�ƒ�o5�d�|��i�|�j�o�t�i�d�|�|�i�f�‚�qsn�d�}�x|�|�D]t�}�|�d�7}�|�o�|�i�|�|�|�ƒ�n�|�|�}�|��i�i�|�ƒ�o)�x&�|��i�|�D]�} �| �i�|�ƒ�qÙWq€q€W|��i�|�i�|�ƒ�d�|��_�n�d��S(���Nt���metadatai����i���t ���filelistst ���otherdatas$���%s md for %s imported before primary(���R���R ���t���has_keyt���repot���datatypet���lent���dataobjt���totalt���currentt���pkgidt���callbackt���progressbart���pkgdictR ���t���pot���idt���_addToDictAsListt���pkgsByIDt ���addPackaget���appendt���indexesBuiltt���Errorst ���RepoErrort���importFromDict( ���R���R���R���R���R���R���R���R���R���R���(����(����R���t���addDictT���sJ���� � � !� � �R���i����c���������C���s\��|�d�j�o�d�d�d�g�} �n �|�g�} �t�|�d�ƒ�p+�t�i�d�|�i�d�|�i�d�|�ƒ�|�_ �n�xë| �D]ã}�|��i�i �|�ƒ�o�|�|��i�|�j�o�qk�q£�n�d��}�|�d�j�o%�d �} �d �}�|�i�}�|�i �i�} �nh�|�d�j�o%�d�} �d�}�|�i�}�|�i �i�} �n6�|�d�j�o%�d�} �d �}�|�i�}�|�i �i�} �n�qk�|��i�|�| �ƒ�oœ�|��i�|�| �ƒ�}�|�pm�|�i�| �ƒ�}�|�oS�|�i�d�d�ƒ�}�|�i�p3�t �i!�|�|�ƒ�t �i"�|�ƒ�|��i�|�| �ƒ�}�q×qÛn�|�i �i#�|�ƒ�}�n:�|�ƒ��}�|�i&�i'�|�ƒ�}�|�i)�\�}�}�| �|�|�ƒ�}�|�p�|��i-�|�|�|�|�ƒ�n�~�qk�W|�` �d��S(���Nt���allR���R���R���t���cacheHandlert���storedirt���repoidR���t ���primary_dbt���primaryt���filelists_dbt���other_dbt���others���.bz2t����(.���t���mdtypet���datat���hasattrR���t���sqlitecachect���RepodataParserSqlitet���cachedirR���R���R(���t���itemR���R ���R���t���Nonet���db_fnt���mydbtypet���mymdtypet ���getPrimaryXMLt���repo_get_functiont ���getPrimaryt���repo_cache_functiont���getFileListsXMLt���getFilelistst���getOtherXMLt���getOtherdatat���_check_db_versiont���_check_uncompressed_dbt���db_un_fnt���_retrieveMDt���replacet���cachet���misct ���bunzipFilet���unlink_ft ���open_databaset���dobjt���xmlt���repoXMLt���getDatat���xmldatat���checksumt���ctypet���csumt ���cacheonlyR&���(���R���R���R1���R���RV���R9���RR���RU���RO���R?���R:���RT���R=���R2���R;���RF���RN���R7���(����(����R���t���populate€���s`���� � c��� ������C���sú���|�i�i�|�ƒ�}�|�i�\�} �}�t�i �i �|�ƒ�}�|�i�d�|�}�|�i�d�d�ƒ�}�d�}�|�i�t�i �i �|�ƒ�ƒ�t�i �i�|�ƒ�on�t�o�|�i�o�|�Sn�y�|�i�|�|�d�t�ƒWn.�t�j �o"�|�i�p�t�i�|�ƒ�qò�qö�X|�}�n�|�S(���s8���return file name of uncompressed db is good, None if nott���/s���.bz2R0���t���openchecksumN(���R���RP���RQ���R1���t���mydbdatat���locationt���r_baset���remotet���ost���patht���basenamet���fnameR6���t���bz2_fnRH���RF���R8���t���resultt���_preload_md_from_system_cachet���existst���skip_old_DBMD_checkt ���_using_old_MDt���checkMDt���Truet���URLGrabErrorRI���RJ���RL���( ���R���R���R1���R]���RF���Rb���Rc���Ra���RZ���R\���(����(����R���RE���È���s$����� c���������C���s ���|�i�|�ƒ�S(���N(���R���RD���R1���(���R���R���R1���(����(����R���RD���á���s����(���t���__name__t ���__module__t���__doc__R���R ���R���R8���R&���RW���RE���RD���(����(����(����R���R���G���s���� ,H t ���YumRepositoryc�����������B���sw��t��Z�d��Z�d���Z�d�„��Z�d�„��Z�e�e�ƒ�Z�d�„��Z�d�„��Z �d�„��Z �e�e �ƒ�Z�d�„��Z�d�„��Z �d �„��Z�d �„��Z�d�d�e�d �„�Z�d�„��Z�d�„��Z�d�„��Z�d�„��Z�d�„��Z�e�d�„�Z�d�„��Z�d�„��Z�e�d�„�Z�d�„��Z�d�„��Z�e�d�„��ƒ�Z�e�d�„��ƒ�Z�d�„��Z �d�„��Z!�d�„��Z"�d�„��Z#�e�d�„��ƒ�Z$�e�d �„��d!�„��ƒ�Z%�e�d"�„��d#�„��ƒ�Z&�e�d$�„��d%�„��ƒ�Z'�e�d&�„��ƒ�Z(�d'�„��Z)�d(�„��Z*�d)�„��Z+�d*�„��Z,�d+�„��Z-�d,�„��Z.�e�d-�d.�„��d/�d0�„��d1�d2�„��ƒ�Z/�d3�„��Z0�e�d-�d4�„��d/�d5�„��d1�d6�„��ƒ�Z1�e2�e2�e2�e2�e2�e2�e2�e2�d7�e�d8�„ �Z3�e3�Z4�e2�e2�e�d9�„�Z5�e2�d7�e�d:�„�Z6�d;�„��Z7�d<�„��Z8�d=�„��Z9�d>�„��Z:�e2�e2�e2�d?�„�Z;�d@�„��Z<�e2�e2�dA�„�Z=�e2�dB�„�Z>�dC�„��Z?�dD�„��Z@�dE�„��ZA�e2�dF�„�ZB�e�dG�„�ZC�dH�„��ZD�eE�dI�„��ƒ�ZF�e2�e2�dJ�„�ZG�dK�„��ZH�e2�dL�„�ZI�e2�dM�„�ZJ�e�dN�„�ZK�e2�dO�„�ZL�e2�dP�„�ZM�e2�e2�dQ�„�ZN�e2�dR�„�ZO�dS�„��ZP�e�d-�dT�„��d/�dU�„��d1�dV�„��ƒ�ZQ�dW�„��ZR�e�dX�„�ZS�e�e2�e�dY�„�ZT�dZ�„��ZU�e�d[�„�ZV�d\�„��ZW�d]�„��ZX�d^�„��ZY�d_�„��ZZ�d`�„��Z[�da�„��Z\�db�„��Z]�dc�„��Z^�e2�dd�„�Z_�de�„��Z`�df�„��Za�dg�e2�dh�„�Zb�di�„��Zc�dj�„��Zd�RS(k���so��� This is an actual repository object Configuration attributes are pulled in from config.RepoConf. c���������C���s§��t��i�i�|��ƒ�t�i�|��|�ƒ�d��|��_�g��|��_�d�|��_ �d�|��_ �d�|��_�d��|��_�d��|��_ �h��|��_�d�|��_�d�|��_�h��|��_�h��|��_�d�|��_�d��|��_�d��|��_�t�|��_�h��|��_�d��|��_�t�|��_�d��|��_�d��|��_�d�|��_�d�|��_�d�|��_�d�|��_ �h��d�d�<d�d�<d �d�<d �d�<d�d�<|��_!�d��|��_"�d��|��_#�d��|��_$�d��|��_%�t�|��_&�d��|��_'�d��|��_(�d��|��_)�t*�|��_+�d��|��_,�d��|��_-�d��|��_.�d��S(���Ni����s ���yumgroups.xmls���repodata/repomd.xmlt���cachecookieR0���iè��R,���R���R/���t���groupt ���updateinfo(/���t���configt���RepoConfR���R���t ���RepositoryR*���R8���t���repofilet���_urlst���enablegroupst���groupsfilenamet ���repoMDFilet���_repoXMLRg���t���_oldRepoMDDataRI���t���mirrorlistparsedt���yumvart���_proxy_dictt���metadata_cookie_fnt���_metadataCurrentt ���_metalinkt���Falset���groups_addedt���http_headerst ���sslcacertt ���sslverifyt ���sslclientcertt���sslclientkeyt���repo_config_aget���basecachedirt���costt ���copy_localt ���retrievedR���t���failure_objt���mirror_failure_objt���interrupt_callbackt���_callbacks_changedt ���mediafunct���gpg_import_funct���confirm_funcRi���t���timestamp_checkt���_sackt ���_grabfunct���_grab(���R���R*���(����(����R���R���ë���sP���� 6 c���������C���sl���|�d�j�o�d�Sn�t�|�d�ƒ�o �|�i�}�n�d�}�t�|��i�|�ƒ�}�|�o�|�Sn�t�|��i�|�i�ƒ�S(���s@��� Sort yum repos. by cost, and then by alphanumeric on their id. i���R‹���iè��N( ���R/���R8���R3���R‹���t���ocostt���cmpR���t���retR���(���R���R/���R™���R›���(����(����R���t���__cmp__&��s����� c���������C���s0���|��i�d��j�o�t�i�t�i�ƒ�|��_�n�|��i�S(���N(���R���R–���R8���t ���sqlitesackt���YumSqlitePackageSackt���YumAvailablePackageSqlite(���R���(����(����R���t���_getSack3��s����c���������C���s2���|��i�d��j �o�|��i�i�ƒ��n�t�i�|��ƒ�d��S(���N(���R���R–���R8���t���sackR���Rt���(���R���(����(����R���R���?��s����c���������C���s ���d��|��_�d��S(���N(���R8���R���R–���(���R���(����(����R���t ���_resetSackD��s����c���������C���s#���|��i�ƒ��|��i�o�|��i�Sn�d��S(���N(���R���t���doProxyDictR~���R8���(���R���(����(����R���t���__getProxyDictG��s���� c���������C���s���|��i�S(���s7���Returns the instance of this repository's package sack.N(���R���R¡���(���R���(����(����R���t���getPackageSackQ��s�����c���������C���s%���t��|��d�ƒ�o�|��i�d�j �Sn�t�S(���s;���Returns true if this repository is setup and ready for use.t���metadata_cookieN(���R3���R���RP���R8���R‚���(���R���(����(����R���t���readyV��s�����c���������C���sE���d�|��i�i�ƒ��j�o�|��i�i�d�ƒ�}�n�|��i�i�d�ƒ�}�|�i�S(���s"���Returns the location of the group.t���group_gzRp���N(���R���RP���t ���fileTypesRQ���t���thisdataR[���(���R���Rª���(����(����R���t���getGroupLocation]��s �����c���������C���s���|��i�S(���N(���R���R���(���R���(����(����R���t���__str__e��s����i���i���c���������C���s[���y�t��i�|�|�|�ƒ�SWn=�t�i�t�f�j �o(�}�|�o�d�Sn�t�i�d�|�‚�n�Xd�S(���sŽ���takes filename, hand back Checksum of it sumtype = md5 or sha filename = /path/to/file CHUNK=65536 by defaults#���Error opening file for checksum: %sN(���RJ���RS���t���sumtypet���filet���CHUNKR#���t ���MiscErrort���EnvironmentErrort���et���checksum_can_failR8���R$���(���R���R���R®���R¯���R³���R²���(����(����R���t ���_checksumh��s�����c���������C���sº���d�|��i�}�d�d�d�d�d�d�d�d �d �d�d�d �d�d�d�d�d�d�d�d�d�g�}�|�i�ƒ��x+�|�D]#�}�|�d�|�t�|��|�ƒ�f�}�qc�W|�d�}�x�|��i�D]�}�|�d�|�}�qž�W|�S(���Ns���[%s] t���namet ���bandwidtht���enabledRw���t���gpgcheckt ���repo_gpgcheckt���includepkgst ���keepalivet���proxyt���proxy_passwordt���proxy_usernamet���excludet���retriest���throttlet���timeoutt ���mirrorlistt���metalinkR6���t���gpgkeyt���pkgdirt���hdrdirs���%s = %s s ���baseurl =s��� %s ( ���R���R���t���outputt���varst���sortt���attrt���getattrt���urlst���url(���R���RË���RÉ���RÎ���RÈ���(����(����R���t���dumpt��s���� E �! �c���������C���sv���|��i�ƒ��y�t�i�|��d�d�g�ƒWnK�t�j �o?�}�|�i�t�i�j�o�|��i�i �|�ƒ�qr�t�t �|�ƒ�‚�n�Xd�S(���s%���Persistently enables this repository.t���onlyR·���N(���R���t���enableRr���t���writeRawRepoFilet���IOErrorR²���t���errnot���EACCESt���loggert���warningt���str(���R���R²���(����(����R���t���enablePersistent…��s����� c���������C���sv���|��i�ƒ��y�t�i�|��d�d�g�ƒWnK�t�j �o?�}�|�i�t�i�j�o�|��i�i �|�ƒ�qr�t�t �|�ƒ�‚�n�Xd�S(���s&���Persistently disables this repository.RÐ���R·���N(���R���t���disableRr���RÒ���RÓ���R²���RÔ���RÕ���RÖ���R×���RØ���(���R���R²���(����(����R���t���disablePersistent��s����� c���������C���s<���t��|��i�ƒ�d�j��o"�|��i�o�t�i�d�|��i�‚�n�d�S(���sh���self-check the repo information - if we don't have enough to move on then raise a repo errori���s(���Cannot find a valid baseurl for repo: %sN(���R���R���Rv���t���mediaidR#���R$���R���(���R���(����(����R���t���check›��s�����!c���������C���sA��|��i�o�d��Sn�h��|��_�d��}�|��i�d��d�g�j�oÎ�d�|��i�}�|��i�d��j �o�t�i�|��i�d�d�ƒ}�|�d�}�|�d�}�|�d�d�j�o �d�}�n�|�d�d�|�d �}�d �|�|��i�|�|�f�}�|��i�d��j �o#�d�|�|��i�|��i�|�|�f�}�qqn�|�d��j �o+�|�|��i�d�<|�|��i�d �<|�|��i�d�<n�d��S(���Nt���_none_s���%st���allow_fragmentsi����i���i���R0���t���?i���s���%s://%s@%s%ss���%s://%s:%s@%s%st���httpt���httpst���ftp( ���R���R~���R8���t���proxy_stringR¼���R¾���t���urlparset���urlsplitt���proxy_parsedt���proxy_protot ���proxy_hostt ���proxy_restR½���(���R���Ré���Rä���Rç���Rê���Rè���(����(����R���R£���¢��s(���� + c���������C���s`���g��}�x+�|��i�D] �}�|�i�|�|��i�|�f�ƒ�q�W|�p �d�|��i�j�p�|�i�d�ƒ�n�|�S(���sA���Convert our dict of headers to a list of 2-tuples for urlgrabber.t���Pragmas���no-cacheN(���Rë���s���no-cache(���t���headersR���R„���t���keyR!���RI���(���R���RI���Rì���Rí���(����(����R���t���__headersListFromDictÁ��s����� �c���������C���s'���t��i�d�t�i�d�d�ƒ|��i�ƒ��d��S(���Ns5���setupGrab() will go away in a future version of Yum. t ���stackleveli���(���t���warningst���warnR#���t���YumFutureDeprecationWarningR���t ���_setupGrab(���R���(����(����R���t ���setupGrabÌ��s���� c���������C���s–���|��i�d�j�o�t�i�i�}�n �t�i�i�}�|��i�ƒ��}�t �d�|��i �d�|��i�d�|��i�d�|��i �d�d�|��|��_�|�|��i�|��i�d�|��i�ƒ|��_�d�S( ���s_���sets up the grabber functions with the already stocked in urls for the mirror groupst ���roundrobint���progress_objt���failure_callbackR���RŒ���t���regett���simpleN(���R���t���failovermethodt ���urlgrabbert���mirrort ���MGRandomOrdert���mgclasst���MirrorGroupt���_default_graboptst���ugoptst ���URLGrabberR���RŽ���R���RŒ���R—���RÍ���R���R˜���(���R���R��Rþ���(����(����R���Ró���Ñ��s����� c���������C���s‹���h��d�|��i�<d�|��i�<d�|��i�<d�|��i�<d�|��i�<d�|��i�<d�t�|��i�d�|�ƒ�ƒ�<d �|��i �ƒ��<d �t�i�i �<}�|�S(���NR»���R¶���t���retryRÁ���t���proxiesRÂ���R„���RI���t���ssl_contextt ���user_agent(���R���R»���R¶���RÀ���RÁ���t ���proxy_dictRÂ���t���tuplet#���_YumRepository__headersListFromDictRI���t���_getSslContextt���default_grabbert���optsR��(���R���RI���R��(����(����R���R���å��s����‡ c���������C���s3���|��i�p �|��i�o�|��i�ƒ��t�|��_�n�|��i�S(���N(���R���R—���R‘���Ró���R‚���(���R���(����(����R���t���_getgrabfuncò��s���� c���������C���s3���|��i�p �|��i�o�|��i�ƒ��t�|��_�n�|��i�S(���N(���R���R˜���R‘���Ró���R‚���(���R���(����(����R���t���_getgrabø��s���� c���������C���s ���|��i�ƒ��S(���N(���R���R ��(���R���(����(����R���t���<lambda>þ��s����c���������C���s ���|��i�ƒ��S(���N(���R���R��(���R���(����(����R���R��ÿ��s����c���������C���s¡���t��i�i�|�ƒ�o�t��i�i�|�ƒ�o�d�Sn�|��i�o�t�i�d�|�‚�n�y�t��i �|�d�d�ƒWn7�t �j �o+�}�d�d�|�d�|�f�}�t�i�|�‚�n�Xd�S(���s@���make the necessary directory path, if possible, raise on failureNs���Cannot access repository dir %st���modeií��s ���%s: %s %s: %ss���Error making cache directorys ���error was( ���R^���R_���Re���t���dpatht���isdirR���RI���R#���R$���t���makedirst���OSErrorR²���t���msg(���R���R��R²���R��(����(����R���t���_dirSetupMkdir_p��s�����& c���������C���s��t��i�i�|��i�|��i�ƒ�}�t��i�i�|�d�ƒ�}�t��i�i�|�d�ƒ�}�|��i �d�|�ƒ�|��i �d�|�ƒ�|��i �d�|�ƒ�|��i �d�|��i�d�ƒ�|��i�d�|��i �}�|��i �d �|�ƒ�x'�|��i�|��i�g�D]�}�|��i �|�ƒ�qÃ�W|��i�d �ƒ�|��i�d�ƒ�|��i�d�ƒ�|��i�d �ƒ�d�S(���s6���make the necessary dirs, if possible, raise on failuret���packagesRì���t���_dir_setup_cachedirt���_dir_setup_pkgdirt���_dir_setup_hdrdirt���_dir_setup_gpgdirs���/gpgdirRX���t���_dir_setup_metadata_cookies ���repomd.xmlRo���s���mirrorlist.txts���metalink.xmlN(���R^���R_���t���joinR���RŠ���R���R6���RÆ���RÇ���t���setAttributeR���t���cookiet���dirR��Rd���(���R���RÆ���R6���R��RÇ���R ��(����(����R���t���dirSetup��s"������ c���������C���s5���d�|�}�t�|��|�ƒ�p�|��i�ƒ��n�t�|��|�ƒ�S(���s;��� Make the directory attributes call .dirSetup() if needed. t���_dir_setup_N(���RË���R3���R���R!��RÌ���(���R���RË���(����(����R���t���_dirGetAttr(��s ����� c���������C���s£���d�|�}�t�|��|�ƒ�p�|��i�ƒ��n�|�d�j�o:�t�|��d�ƒ�p �g��|��_�n�|��i�i�t�|��|�ƒ�ƒ�n�t�|��|�|�ƒ�}�|�d�j�o�|��i �|�ƒ�n�|�S(���s;��� Make the directory attributes call .dirSetup() if needed. R"��R��t���_old_pkgdirsN(���s���_dir_setup_pkgdir(���RË���R3���R���R!��R$��R!���RÌ���t���setattrt���valR›���R��(���R���RË���R&��R›���(����(����R���t���_dirSetAttr.��s����� c���������C���s ���|��i�d�ƒ�S(���NR6���(���R���R#��(���R���(����(����R���R��=��s����c���������C���s ���|��i�d�ƒ�S(���NRÆ���(���R���R#��(���R���(����(����R���R��>��s����c���������C���s���|��i�d�|�ƒ�S(���NRÆ���(���R���R'��t���x(���R���R(��(����(����R���R��?��s����c���������C���s ���|��i�d�ƒ�S(���NRÇ���(���R���R#��(���R���(����(����R���R��@��s����c���������C���s���|��i�d�|�ƒ�S(���NRÇ���(���R���R'��R(��(���R���R(��(����(����R���R��A��s����c���������C���s ���|��i�d�ƒ�S(���Nt���gpgdir(���R���R#��(���R���(����(����R���R��B��s����c���������C���s���|��i�d�|�ƒ�S(���NR)��(���R���R'��R(��(���R���R(��(����(����R���R��C��s����c���������C���s ���|��i�d�ƒ�S(���NR¦���(���R���R#��(���R���(����(����R���R��D��s����c���������C���s'���t��i�d�t�i�d�d�ƒ|��i�ƒ��d��S(���Ns8���baseurlSetup() will go away in a future version of Yum. Rï���i���(���Rð���Rñ���R#���Rò���R���t ���_baseurlSetup(���R���(����(����R���t���baseurlSetupF��s���� c���������C���sU���|��i�o�d��Sn�|��i�p�d��Sn�|��i�i�d�ƒ�d�j�o�d��Sn�|��i�|��_�d��S(���NRÄ���iÿÿÿÿ(���R���RÄ���RÃ���t���find(���R���(����(����R���t���_hack_mirrorlist_for_anacondaK��s���� c���������C���s…��|��i�|��i�ƒ�|��_�|��i�|��_�g��}�|��i�ƒ��|��i�o4�|��i�o)�|�i�t �|��i �i�ƒ��ƒ�ƒ�t�|��_�n�|��i �o+�|��i�o �|�i�|��i�ƒ��ƒ�t�|��_�n�|��i�|�ƒ�|��_�|��i�|��i�|��_�t�|��i�ƒ�d�j��oŒ�t�|��d�ƒ�ox�t�i�i�|��i�ƒ�ob�|��i�pT�y�t�i�|��i�ƒ�Wn-�t�t�f�j �o�}�d�|��i�|�f�GHqcXd�|��i�GHqgqkn�|��i�|��_�|��i�ƒ��d�S(���sŽ���go through the baseurls and mirrorlists and populate self.urls with valid ones, run self.check() at the end to make sure it workedi���t���mirrorlist_files-���Could not delete bad mirrorlist file: %s - %ss-���removing mirrorlist with no valid mirrors: %sN(���R���t���_replace_and_check_urlt���baseurlt ���_orig_baseurlt ���mirrorurlsR-��RÄ���R|���t���extendt���listt ���metalink_dataRÍ���Ri���RÃ���t���_getMirrorListRv���R���R3���R^���R_���Re���R.��RI���RJ���RL���RÓ���R��R²���RÝ���(���R���R²���R2��(����(����R���R*��Z��s.����� & c���������C���sÕ���t��p�d��Sn�t�i�ƒ��}�|��i�o�|�i�t�i�t�i �Bd�ƒ�nG�|�i �t�ƒ�|�i�t�i�d�ƒ�t �|�d�ƒ�o�d�„��}�|�|�_�n�|��i�o�|�i�t�|��i�ƒ�ƒ�n�|��i�o�|�i�|��i�|��i�ƒ�n�|�S(���Ni���iÿÿÿÿt���post_connection_checkc����������G���s���t��S(���N(���Ri���(���t���args(����(����R���t���checker‰��s����(���t���m2cryptoLoadedR8���t���SSLt���Contextt���sslCtxR���R†���t ���set_verifyt���verify_peert���verify_fail_if_no_peer_certt���set_allow_unknown_caRi���t���verify_noneR3���R9��R7��R…���t���load_verify_locationsRØ���R‡���t ���load_certRˆ���(���R���R9��R=��(����(����R���R ��~��s ���� c���������C���sé���g��} �d��}�x–�|�D]Ž�}�t�i�|�|��i�ƒ�}�|�d�d�j�o�|�d�}�n�t �i �|�ƒ�\�}�} �}�}�}�}�|�d�d�d�d�g�j�o �|�}�q�q�| �i�|�ƒ�q�W|�d��j �o3�| �o�d�t�i�|�ƒ�GHqå�d�t�i�|�ƒ�GHn�| �S( ���NiÿÿÿÿRX���Rá���Rã���R®���Râ���sM���YumRepo Warning: Some mirror URLs are not using ftp, http[s] or file. Eg. %ssJ���YumRepo Error: All mirror URLs are not using ftp, http[s] or file. Eg. %s(���t���goodurlsR8���t���skippedt���url_listRÎ���t���parsert ���varReplaceR���R}���Rå���t���st���bt���pt���qt���ft���oR!���RJ���t���to_utf8(���R���RG��RF��RN��RÎ���RO��RM��RL��RJ��RK��RE��(����(����R���R/��“��s"�����! c���������C���s���|��i�p�|��i�ƒ��n�|��i�S(���N(���R���Rv���R*��(���R���(����(����R���t���_geturls©��s���� t���fgetc���������C���s ���|��i�ƒ��S(���N(���R���RQ��(���R���(����(����R���R��®��s����t���fsetc���������C���s���t��|��d�|�ƒ�S(���NRv���(���R%��R���t���value(���R���RT��(����(����R���R��¯��s����t���fdelc���������C���s���t��|��d�d��ƒ�S(���NRv���(���R%��R���R8���(���R���(����(����R���R��°��s����c���������C���s��|��i�pŒ|��i�d�d�|��_�|��i�d�}�|��i�ƒ��pÀ�t�i�|��i�ƒ�}�|��i �ƒ��}�y8�t�d�|��i �|��}�|�i�|�|�d�|��i�d�ƒ}�Wqø�t�i�i�j �oQ�}�t�i�i�|��i�ƒ�p�d�|��}�t�i�|�‚�n�d�|�|�f�GHt�|��_�qø�Xn�|��i�pm�y)�t�i�|�ƒ�|��_�t�i �|�|��i�ƒ�Wqot�i!�j �o.�}�d �|�|�f�GHt�|��_�t�i"�|�ƒ�qoXn�|��i�o�t�i�|��i�ƒ�|��_�q–n�|��i�S( ���NRX���s���metalink.xmls���.tmpRö���t���texts ���/metalinksQ���Cannot retrieve metalink for repository: %s. Please verify its path and try agains'���Could not get metalink %s error was %ss)���Could not parse metalink %s error was %s(#���R���R���R6���t���metalink_filenamet���localt���_metalinkCurrentRJ���RP��RÄ���RÎ���R���R��R��R���t���ugt���urlgrabR���Rc���Rû���t���grabberRj���R²���R^���R_���Re���R��R#���R$���Ri���R€���t���MetaLinkRepoMDt���shutilt���movet���MetaLinkRepoErrorParseFailRL���(���R���R��RÎ���Rc���R��R²���RZ��RX��(����(����R���t���_getMetalink²��s4���� # c���������C���s ���|��i�ƒ��S(���N(���R���Ra��(���R���(����(����R���R��Ö��s����c���������C���s���t��|��d�|�ƒ�S(���NR���(���R%��R���RT��(���R���RT��(����(����R���R��×��s��� c���������C���s���t��|��d�d��ƒ�S(���NR���(���R%��R���R8���(���R���(����(����R���R��Ù��s����Rù���c���������C���sg��|�d�j�o �|��i��}�n�|�d�j�p �|�d�j�o�t�i�d�|��i�‚�n�|��i�d�j�o5�t �i �i�|�ƒ�o�|�Sq�t�i�d�|�|��f�‚�n�|�o"�t �i�|�ƒ�\�}�}�}�} �}�n�|��i�oÔ�|��i�oÊ�d�}�|�o(�|�d�j�o�|�o�t�|�ƒ�}�qn�y\�|��i�d�|�d�|�d�|�d�|�d �|�d �|�d�|��i�d�|��i�d �|�d�|�|�f�ƒ� }�|�SWq—t�i�j �o#�}�t�i �t!�i"�d�|�f�ƒ�q—Xn�|�oþ�|�d�j�oñ�|��i#�d�| �ƒ�}�t%�d�|��i&�d �|�d�| �d�|��i(�d�|��i)�d�|�|��}�|�d�|�}�y:�|�i,�t-�i.�|�ƒ�|�d�t-�i.�|�ƒ�d�|�|�f�ƒ}�Wqct/�j �oK�}�d�|�|��i�|�f�}�|�i1�d�j�o�t�i2�|�‚�q˜t�i�|�‚�qcXnÈ�t3�|��i4�d�| �ƒ�ƒ�}�yU�|��i6�i,�t-�i.�|�ƒ�|�d�t-�i.�|�ƒ�d�|�|�f�d �|�d�| �d�|�d�|�ƒ}�WnW�t/�j �oK�}�d�|�|��i�|�f�}�|�i1�d�j�o�t�i2�|�‚�qct�i�|�‚�n�X|�S(���s±���retrieve file from the mirrorgroup for the repo relative to local, optionally get range from start to end, also optionally retrieve from a specific baseurls/���get request for Repo %s, gave no source or desti���s0���Caching enabled but no local cache of %s from %sR����RX��t ���checkfunct���relativeRV��RŒ���RÎ���RÜ���Rµ���t���discnumt���ranges8���Error getting package from media; falling back to url %sRI���Rö���Rø���R÷���R���RX���s*���failed to retrieve %s from %s error was %si���R„���s���failure: %s from %s: %sN(7���RŒ���R8���R���RX��Rc��R#���R$���R���RI���R^���R_���Re���RÎ���Rå���Ræ���t���schemet���netloct���queryt���fragidRÜ���R’���Rd��t���intRb��RV��Rµ���t���startt���endRc���t ���MediaErrorR²���t���verbose_loggert���logt ���logginglevelst���DEBUG_2R���R��R��R���Rø���RŽ���R���RZ��R]���R[��RJ���RP��Rj���t���errstrRÔ���t���NoMoreMirrorsRepoErrorR��R ��Rì���t���grab(���R���RÎ���Rc��RX��Rk��Rl��RŒ���Rb��RV��Rø���RI���R��Rr��Rh��Rd��Rf��R]���Rg��Ri��R_���R²���Rì���RZ��Rc���(����(����R���t���_getFileÛ��sl����� "T# c������ ���C���s‚���|�i�}�|�i�ƒ��}�|�i�}�|��i�|�ƒ�o&�|�i�ƒ��o�|�Sn�t �i �|�ƒ�n�|��i�d�|�d�|�d�|�d�|�d�|�d�|�ƒ�S(���NRÎ���Rc��RX��Rb��RV��RI���(���t���packaget���relativepathR]���t���localPkgRX��t���basepathR���t���_preload_pkg_from_system_cachet���verifyLocalPkgRJ���RL���Ru��Rb��RV��RI���(���R���Rv��Rb��RV��RI���R]���RX��Ry��(����(����R���t ���getPackage7��s���� c��� ������C���sš���|�i�}�|�i�ƒ��}�|�i�}�|�i�}�|�i �} �t �i�i�|��i�ƒ�p�t �i�|��i�ƒ�n�|��i�d�| �d�|�d�|�d�|�d�d��d�|�d�|�d�d �d �|�ƒ� S(���NRÎ���Rc��RX��Rk��Rø���Rl��Rb��RŒ���i���RI���(���Rv��Rw��R]���t���localHdrRX��t���hdrstartRk��t���hdrendRl��Ry��R^���R_���Re���R���RÇ���R��Ru��R8���Rb��RI���( ���R���Rv��Rb��Rø���RI���R]���Rk��Rl��RX��Ry��(����(����R���t ���getHeaderI��s���� c���������C���sË���|��i�d�j�o@�|��i�d�d�}�|��i�o!�t�i�i�|�ƒ�o �t �|��_�qP�n�|��i�d�j�o5�|��i�d�d�}�t�i�i�|�ƒ�p �t �|��_�q•�n�|��i�d�j�o�|��i�|��i�|��i �ƒ�|��_�n�|��i�S(���sò���Check if there is a metadata_cookie and check its age. If the age of the cookie is less than metadata_expire time then return true else return False. This result is cached, so that metalink/repomd.xml are synchronized.RX���s���metalink.xmls ���repomd.xmlN(���R���R€���R8���R6���t���mlfnRÄ���R^���R_���Re���R‚���t���repomdfnt���withinCacheAgeR¦���t���metadata_expire(���R���R‚��R��(����(����R���t���metadataCurrentZ��s�����c���������C���sÀ���|��i�d��j �o�|��i�Sn�|��i�o+�t�i�i�|��i�ƒ�o�t�i �d�|��‚�n�|��i�o �t �|��_�nS�t�i�i�|��i�ƒ�p �t�|��_�n0�|��i�|��i �|��i�ƒ�o �t �|��_�n �t�|��_�|��i�S(���Ns$���Cannot find metalink.xml file for %s(���R���R€���R8���RI���R^���R_���Re���RW��R#���R$���Ri���R‚���Rƒ��R¦���R„��(���R���(����(����R���RY��p��s����! c���������C���sÂ���|�d�j�o�t�i�i�|�ƒ�o�t�Sn�t�}�t�i�i�|�ƒ�o}�t�i�|�ƒ�}�|�d�|�t �i �ƒ��j�o �t�}�n"�|�d�t �i �ƒ��j�o �t�}�n�|�d�t�|��i �ƒ�j��o �t�}�q¾�n�|�S(���sx��check if any file is older than a certain amount of time. Used for the cachecookie and the mirrorlist return True if w/i the expiration time limit false if the time limit has expired Additionally compare the file to age of the newest .repo or yum.conf file. If any of them are newer then invalidate the cache iÿÿÿÿi���N(���t���expiration_timeR^���R_���Re���t���myfileRi���R‚���R&��t���statt���cookie_infot���timeRj��R���R‰���(���R���R‡��R†��R&��R‰��(����(����R���Rƒ����s����� c���������C���si���|��i�}�t�i�i�|��i�ƒ�p �|��i�}�n�t�i�|�t�i�ƒ�o#�t �|��i�d�ƒ�}�|�i�ƒ��~�n�d�S(���s/���if possible, set touch the metadata_cookie files���w+N(���R���R¦���RÝ���R^���R_���Re���R6���t���accesst���W_OKt���opent���foR���(���R���RÝ���RŽ��(����(����R���t���setMetadataCookiež��s����� c���������C���s•���y(�|�|��_��|�|��_�|�|��_�|�|��_�Wn�t�i�j �o�}�‚��n�X|��i�o@�|��i�o6�|��i �o+�|��i �o �t�i�t �i�d�ƒ�t�|��_�n�d��S(���Ns1���Disabling media repo for non-media-aware frontend(���RI���R���R’���R“���R”���R#���R$���R²���RÜ���RÃ���R0��Rn��Ro��Rp��Rq��R‚���R·���(���R���RI���R’���R“���R”���R²���(����(����R���t���setupª��s���� +c���������C���sU���|��i�o(�t�i�i�|�ƒ�o�t�i�d�|��‚�n�|��i�p �|��i�ƒ��o�t �Sn�t �S(���s(��� Should we cache the current repomd.xml s"���Cannot find repomd.xml file for %sN(���R���RI���R^���R_���Re���RX��R#���R$���R…��Ri���R‚���(���R���RX��(����(����R���t���_cachingRepoXML¶��s�����c���������C���sƒ��|��i�f��h��f�}�|�d�j�o�d�|��i�j�}�n�d�}�yp�t�i�d�d�d�d�d�t �i �i�|�ƒ�ƒ�}�|��i �d�|��i�d �|�d �d�d�|�d �d�d�|�d�|��i�d�j�ƒ�}�Wn„�t�j �o;�}�t�i�|�ƒ�|�o�d�Sn�t�i�d�|�|�f�‚�n?�t�i�t�i�f�j �o&�t�i�|�ƒ�|�o�d�Sn�‚��n�Xy�t �i�|�|�ƒ�Wn9�t�i�|�ƒ�|�o�d�Sn�t�i�d�|�|�f�‚�n�X|�S(���s*��� Call _getFile() for the repomd.xml file. t���old_repo_XMLR0���t���prefixt���repomdt���suffixs���tmp.xmlR ��Rc��RX��RŒ���i���RV��Rø���Rb��RI���R'���s���Error downloading file %s: %ss���Error renaming file %s to %sN(���R���t ���_checkRepoXMLRb��t ���grab_can_failR8���R{���t���tfnamet���tempfilet���mktempR^���R_���t���dirnameRX��Ru��Ry���RV��t���http_cachingRc���Rj���R²���RJ���RL���R#���R$���Rs��t���rename(���R���RX��RV��R—��R²���Rb��R˜��Rc���(����(����R���t���_getFileRepoXML¾��sB����� c���������C���s{���y�t��i�|��i�|�ƒ�SWn]�t�i�j �oN�}�|�d�j�o�d�|��i �j�}�n�|�o�d�Sn�t�i�d�|��|�f�‚�n�Xd�S(���s��� Parse the repomd.xml file. R’��s&���Error importing repomd.xml from %s: %sN(���t���repoMDObjectt���RepoMDR���R���RX��R#���t���RepoMDErrorR²���t���parse_can_failR8���R{���R$���(���R���RX��R¢��R²���(����(����R���t ���_parseRepoXMLç��s����� c���������C���s¦���x+�t��i��|��i�d�ƒ�D]�}�t�i�|�ƒ�q�Wt�i�i�|�ƒ�oa�|�d�}�t�i�|�|�ƒ�|��i �|�t�ƒ�}�h��d�|�<d�|�<d�|�<d�g��<|��_�|�Sn�d�S(���s=��� If we have an older repomd.xml file available, save it out. s ���/*.old.tmps���.old.tmpR’��RX��t ���old_localt���new_MD_filesN(���t���globR���R6���Ra���RJ���RL���R^���R_���Re���RX��R¤��R^��t���copy2R£��Ri���RO���R{���R8���(���R���RX��RO���R¤��Ra���(����(����R���t���_saveOldRepoXMLò��s������ -c���������C���sê���|��i�p�t�i�d�‚�n�d�|��i�j�o�h��|��_�d�Sn�x"�|��i�d�D]�}�t�i�|�ƒ�qI�W|��i�}�h��|��_�d�|�j�o�t �i �|�d�|�d�ƒ�n�|�d�|��_�d�|�j�o�d�Sn�x&�|�d�D]�}�t �i �|�d�|�ƒ�qÈ�Wd�S( ���s0��� If we have older data available, revert to it. s#���Can't download or revert repomd.xmlR’��NR¥��R¤��RX��t���old_MD_filess���.old.tmp( ���R���R•���R#���R$���R{���Ra���RJ���RL���t���old_dataR^���R��Rz���t���revert(���R���Rª��R«��Ra���(����(����R���t���_revertOldRepoXML��s&����� � �c���������C���ss���|��i�}�h��|��_�d�|�j�o�t�i�|�d�ƒ�n�d�|�j�o�d�Sn�x#�|�d�D]�}�t�i�|�d�ƒ�qT�Wd�S(���s ��� Done with old data, delete it. R¤��R©��Ns���.old.tmp(���R���R{���Rª��RJ���RL���R«��(���R���R«��Rª��(����(����R���t���_doneOldRepoXML ��s����� �c���������C���s¶���|�d��j�o �|��i��}�n�|�d�j�o�d�|�i�ƒ��j�o �d�}�n�|�d�d�d�g�j�o(�|��i�|�d�d�|�ƒo�|�d�7}�n�|�i�i�|�ƒ�o�|�|�i�|�ƒ�f�Sn�|�d��f�S(���NRp���R¨���R/���R���R,���t���_dbRP���( ���RP���R8���R���R1���R©���RD���t���repoDataR���RQ���(���R���R1���RP���(����(����R���t���_get_mdtype_data-��s���� 0c���������C���sM���|�i�\�}�}�|��i�d�t�i�i�|�ƒ�}�|�o�|�i�d�d�ƒ�}�n�|�S(���NRX���s���.bz2R0���(���R2���R[���R\���R]���R���R6���R^���R_���R`���RX��t ���compressedRH���(���R���R2���R±��R\���RX��R]���(����(����R���t���_get_mdtype_fname;��s ����c���������C���sƒ���d�|��i�j�o�t�Sn�|��i�d�}�|��i�oP�|�i�|��i�i�j�o:�t�i�d�t �i �|�i�ƒ�t �i �|��i�i�ƒ�f�ƒ�t�Sn�t�S(���s|��� We check the timestamps, if any of the timestamps for the "new" data is older than what we have ... we revert. R’��sh���Not using downloaded repomd.xml because it is older than what we have: Current : %s Downloaded: %sN(���R���R{���Ri���R’��R•���t ���timestampRP���RÖ���R×���RŠ��t���ctimeR‚���(���R���R’��(����(����R���t���_groupCheckDataMDNewerC��s����� 2c���������C���sÄ���|��i�|�i�j�o�t�Sn�|��i�|�i�j�o�t�Sn�t�ƒ��}�xX�|��i�D]M�}�|�|�i �j�o�qI�n�|��i�|�|�i �|�j�o�t�Sn�|�i�|�ƒ�qI�Wx#�d�D]�}�|�|�j�o�t�Sq¡�q¡�Wt�S(���s7��� Check parsed repomd.xml against metalink.repomd data. t���sha512t���sha256t���sha1t���md5N(���R¶��R·��R¸��R¹��( ���RP���R³��R”��R‚���t���lengtht���sizet���sett���donet ���checksumsRS���t���chksumst���addRi���(���RP���R”��RS���R½��(����(����R���t���_checkRepoXMLMetalinkU��s$����� �� c���������C���sÀ���|�d�j�o �|��i�}�n�|�d�j�o �|��i�}�n�|��i�|�|�i�ƒ�o�t�Sn�xg�|��i�i�D]Y�}�|��i�|�|�ƒ�o@�t �i �t�i�d�t �i�|�i�i�ƒ�t �i�|�i�ƒ�f�ƒ�t�Sq_�q_�Wt�S(���s@��� Check the repomd.xml against the metalink data, if we have it. s/���Using older repomd.xml Latest: %s Using: %sN(���RP���R8���R���Rz���R5��RÁ��R”��Ri���t���old_repomdsRn��Ro��Rp��Rq��RŠ��R´��R³��R‚���(���R���RP���R5��R”��(����(����R���t���_checkRepoMetalinkp��s����� �,c���������C���s{���|��i�|�ƒ�}�|�p�t�Sn�|��i�ƒ��|��i�p�t�Sn�|��i�i�}�|��i �o�|�i �|�i �j�o�t�Sn�|��i�|�|�ƒ�S(���sx��� Save the Old Repo XML, and if it exists check to see if it's the latest available given the metalink data. N( ���R���R¨��RX��t���oxmlR‚���R-��RÄ���R5��R”��R•���R³��Ri���RÁ��(���R���RX��R”��RÄ��(����(����R���t���_latestRepoXML‰��s����� c���������C���s!��|��i�d�}�|��i�d�j �o�t�Sn�|��i�|�ƒ�o�t�}�|�}�nn�t�}�|��i �|�ƒ�o�|��i�ƒ��|��i�ƒ��t�Sn�|��i �|�|�ƒ�}�|�d�j�o�|��i�ƒ��t�Sn�|��i�ƒ��|��i�|�ƒ�|��_�|��i�d�j�o�|��i�ƒ��t�Sn�|�|��_�|�o�t�Sn�|��i�ƒ��p�|��i�ƒ��t�Sn�t�S(���s`��� Common LoadRepoXML for instant and group, returns False if you should just return. s���/repomd.xmlN(���R���R6���RX��Rz���R8���R‚���R‘��Ri���t���cachingRc���RÅ��R¬��R��Rž��RV��R£��Rg���Rµ��(���R���RV��t���mdtypesRÆ��RX��Rc���(����(����R���t���_commonLoadRepoXML ��s8����� c���������C���sT���|�d��j�o �|��i��}�n�|�i�i�|�ƒ�o#�t�|�i�|�i�j�o�t�SqP�n�t �S(���N( ���RP���R8���R���R¯��R���R1���t ���DBVERSIONt ���dbversionRi���R‚���(���R���R1���RP���(����(����R���RD���È��s���� c������ ���C���sÒ���|�d�j�o�d�Sn�|�p%�|�i�d�ƒ�}�|��i�|�|�ƒ�}�nH�t �}�|��i�|�t �ƒ�}�t �i�i�|�ƒ�p�|�i �d�d�ƒ�}�t�}�n�|��i�t �i�i�|�ƒ�ƒ�|��i�|�|�d�|�d�|�d�t�ƒp�d�Sn�|�S(���s��� Check that we already have this data, and that it's valid. Given the DB mdtype and the main mdtype (no _db suffix). R®��s���.bz2R0���RY���R2���t���check_can_failN(���R2���R8���t ���file_checkt���dbmdtypet���endswithR±��R���R²��RX��R‚���R^���R_���Re���RH���Ri���Rd���R`���t���_checkMD(���R���R2���RÍ��t���mmdtypeRÌ��RX��R±��(����(����R���t���_groupCheckDataMDValidÒ��s ����� c���������C���sO��d�„��} �|��i�i�ƒ��}�|�d�j�o �|�}�n�g��}�d�|��i�j�o �d�}�n�|��i�d�}�|�|��i�d�<g��|��i�d�<xÈ|�D]À}�|��i�|�ƒ�\�} �} �|�oÂ�|��i�|�d�|�ƒ\�}�}�|��i�|�|�|�t�ƒ�}�|�o„�| �|�|�| �| �ƒ�o�q}�n�t�i�|�|�d�ƒ�|�i�|�ƒ�|�d�}�t�i�i�|�ƒ�o%�t�i�|�|�d�ƒ�|�i�|�ƒ�q]qan�| �d�j�o�q}�n�|�|�j�o�q}�n�|��i�| �| �|�ƒ�o�q}�n�|��i�| �d�t�ƒp�|��i�ƒ��t�Sn�|��i�| �t�ƒ�}�| �i�d �ƒ�o9�|�}�|�i�d �d�ƒ�}�t �i!�|�|�ƒ�t �i"�|�ƒ�n�|��i�d�i�|�ƒ�q}�W|��i#�ƒ��t�S( ���sû��� Retrieve any listed mdtypes, and revert if there was a failure. Also put any of the non-valid mdtype files from the old_repo_XML into the delete list, this means metadata can change filename without us leaking it. c���������C���s���|�d�j�o�t�Sn�|��|�j�o�t�Sn�|�i�|�i�j�o�t�Sn�t�i�i �|�i �d�ƒ�}�t�i�i �|�i �d�ƒ�}�|�|�j�o�t�Sn�t �S(���s9��� Check if two returns from _get_mdtype_data() are equal. i���N(���t���ndataR8���R‚���t���omdtypet���nmdtypet���odataRS���R^���R_���R`���R[���t���ornamet���nrnameRi���(���RÓ��RÕ��RÔ��RÒ��RÖ��R×��(����(����R���t ���_mdtype_eqó��s����� R’��R©��R¥��RP���s���.old.tmps���.sqlitet���retrieve_can_failR®��s���.bz2R0���N($���RØ��R���R���t���keyst���all_mdtypesRÇ��R8���t���revertsR{���R’��R1���R°��RÔ��RÒ��RÓ��RÕ��RÑ��Ri���RX��R^���R��R!���t ���gen_localR_���Re���RG���R¬��R‚���R²��RÎ��t���dl_localRH���RJ���RK���RL���R��(���R���RÇ��RÜ��R’��RÞ��RÓ��RÕ��R1���RÝ��RØ��RÒ��RX��RÛ��RÔ��(����(����R���t���_commonRetrieveDataMDí��sZ����� � c���������C���s%���|��i�|�ƒ�o�|��i�g��ƒ�n�d�S(���s˜��� Retrieve the new repomd.xml from the repository, then check it and parse it. If it fails revert. Mostly traditional behaviour. N(���R���RÈ��RV��Rß��(���R���RV��(����(����R���t���_instantLoadRepoXMLF��s�����c���������C���s%���|��i�|�ƒ�o�|��i�|�ƒ�n�d�S(���s�� Retrieve the new repomd.xml from the repository, then check it and parse it. If it fails we revert to the old version and pretend that is fine. If the new repomd.xml requires new version of files that we have, like updateinfo.xml, we download those too and if any of those fail, we again revert everything and pretend old data is good. N(���R���RÈ��RV��Rß��RÇ��(���R���RV��RÇ��(����(����R���t���_groupLoadRepoXMLM��s�����c���������C���s��yÖ�|��i�d�g�j�o�|��i�|�ƒ�Sn�|��i�d�g�j�o�|��i�|�ƒ�Sn�|��i�d�g�j�o �|��i�|�d�d�d�d�g�ƒ�Sn�|��i�d�g�j�o�|��i�|�d�d�g�ƒ�Sn�|��i�d �g�j�o�|��i�|�d�g�ƒ�Sn�Wn �t�j �o�|��i�ƒ��‚��n�Xt�i�d �|��i�‚�d�S(���s5���retrieve/check/read in repomd.xml from the repositoryt���instants ���group:alls ���group:mainR,���Rp���R���Rq���s���group:smalls ���group:primarys���Bad loadRepoXML policy: %sN( ���R���t���mdpolicyRà��RV��Rá��t���KeyboardInterruptR¬��R#���R$���(���R���RV��(����(����R���t���_loadRepoXMLX��s ����� c���������C���sa���|��i�o�|��i�Sn�y�|��i�d�|��ƒ�Wn.�t�i�j �o�}�d�|��}�t�i�|�‚�n�X|��i�S(���NRV��si���Cannot retrieve repository metadata (repomd.xml) for repository: %s. Please verify its path and try again(���R���Rz���Rå��R#���R$���R²���R��(���R���R��R²���(����(����R���t���_getRepoXMLk��s���� c���������C���s ���|��i�ƒ��S(���N(���R���Ræ��(���R���(����(����R���R��w��s����c���������C���s���t��|��d�|�ƒ�S(���NRz���(���R%��R���R&��(���R���R&��(����(����R���R��x��s����c���������C���s���t��|��d�d��ƒ�S(���NRz���(���R%��R���R8���(���R���(����(����R���R��y��s����c���������C���s��t��|�ƒ�t�i�j�o �|�i�}�n�|�}�|��i�o\t�i �d��j�o�t�d�d�|��ƒ�‚�n�|��i�d�}�yJ�|��i�d�d�d�d�d�|�d �d �|��i�d�d��d�d��d �|��i�d�j�ƒ�}�Wn.�t�j �o"�}�t�d�d�|��|�f�ƒ�‚�n�Xt�i�|�|�|��i�ƒ�}�|�ok�|��i�oa�y�|��i�|��|��i�ƒ�Wn+�t�i�j �o�}�t�d�d�|��ƒ�‚�n�Xt�i�|�|�|��i�ƒ�}�n�|�p�t�d�d�|��ƒ�‚�qn�y�t�i�|��i�|�ƒ�}�Wn1�t�i�j �o"�}�t�d�d�|��|�f�ƒ�‚�n�X|��i�ƒ��|��i�o(�|��i �|�ƒ�o�t�d�d�|��ƒ�‚�n�d��S(���Niÿÿÿÿs?���pygpgme is not working so repomd.xml can not be verified for %ss���/repomd.xml.ascRc��s���repodata/repomd.xml.ascRŒ���i���RX��RV��s���%s/signatureRø���Rb��RI���R'���s1���Error finding signature for repomd.xml for %s: %ss;���Gpg Keys not imported, cannot verify repomd.xml for repo %ss1���repomd.xml signature could not be verified for %ss%���Error importing repomd.xml for %s: %ss)���repomd.xml does not match metalink for %s(!���t���typeRŽ��t���typest���InstanceTypet���filenamet���filepathR���R¹���RJ���t���gpgmeR8���Rj���R6���t���sigfileRu��R���Rœ��Rc���R²���t���valid_detached_sigR)��t���validR“���R”���R#���t���YumBaseErrorRŸ��R ��RP���R¡��R-��RÄ���RÃ��(���R���RŽ��Rc���R²���Rí��Rë��RP���Rï��(����(����R���R–��{��sB���� c���������C���s���|��i�|�|�|�ƒ�S(���s,���check the metadata type against its checksumN(���R���RÏ��t���fnR1���RY���(���R���Rñ��R1���RY���(����(����R���Rh���¨��s�����c���������C���s��|�}�|�d�j�o�|��i�i�|�ƒ�}�n�|�o�|�i�\�}�}�n�|�i �\�}�}�t�|�ƒ�t �i�j�o �|�i�} �n�|�} �y�|��i�|�| �ƒ�}�Wn6�t�i�j �o'�} �|�o�d�Sn�t�d�d�ƒ�‚�n�X|�|�j�o�d�Sn�|�o�d�Sn�t�d�d�ƒ�‚�d�S(���s5��� Internal function, use .checkMD() from outside yum. iýÿÿÿs���Error performing checksumi���iÿÿÿÿs%���Metadata file does not match checksumN(���R2���Rª���R8���R���RP���RQ���R1���RY���t���r_ctypet���r_csumRS���Rç��Rñ��Rè��Ré��Rê��R®���R´���t���l_csumR#���R$���R²���RË��Rj���(���R���Rñ��R1���RY���R2���RË��Rò��Ró��Rª���R®���R²���Rô��(����(����R���RÏ��¬��s*����� c���������C���s ���|��i�|�ƒ�S(���sÆ���base function to retrieve metadata files from the remote url returns the path to the local metadata file of a 'mdtype' mdtype can be 'primary', 'filelists', 'other' or 'group'.N(���R���RG���R1���(���R���R1���(����(����R���t ���retrieveMDÏ��s�����c���������C���s@��|��i�i�|�ƒ�}�|�i�\�}�} �t�i �i �| �ƒ�}�|��i�d�|�}�|��i�i�|�ƒ�o�|��i�|�o�|�Sqq�n�|��i�d�j�oq�t�i �i�|�ƒ�oD�y�|��i�|�|�ƒ�Wn%�t�j �o�} �t�i�d�|�‚�qî�X|�Sqò�t�i�d�|�|��f�‚�n�t�i �i�|�ƒ�p�|��i�t�i �i �|�ƒ�ƒ�o2�|��i�|�|�d�t�ƒo�d�|��i�|�<|�SqSn�yk�|��i�|�f�h��f�}�d�|��i�|�f�}�|��i�d�| �d�|�d �d�d �|�d�d�d�|�d �|��i�d�j�ƒ�}�Wnj�t�i �t�i�f�j �o�|�o�d�Sn�‚��nL�t�j �o.�} �|�o�d�Sn�t�i�d�|�|��f�‚�n�Xd�|��i�|�<|�Sd�S(���s8��� Internal function, use .retrieveMD() from outside yum. RX���i���s;���Caching enabled and local cache: %s does not match checksums0���Caching enabled but no local cache of %s from %sRË��s���%s/%sRc��RX��RŒ���Rb��Rø���RV��RI���R'���s6���Could not retrieve %s matching remote checksum from %sN("���R���RP���RQ���R1���Rª���R[���R\���R]���R^���R_���R`���Ra���R6���RX��R���R���RI���Re���Rh���Rj���R²���R#���R$���Rd���RÏ��Ri���Rb��R���RV��Ru��R8���Rœ��Rs��RÙ��(���R���R1���RÙ��R\���RX��Rª���Rb��Ra���RV��R]���R²���(����(����R���RG���Õ��sH�����/ c���������C���s ���|��i�d�ƒ�S(���s]���this gets you the path to the primary.xml file, retrieving it if we need a new oneR,���N(���R���Rõ��(���R���(����(����R���R<��� ��s�����c���������C���s ���|��i�d�ƒ�S(���s_���this gets you the path to the filelists.xml file, retrieving it if we need a new oneR���N(���R���Rõ��(���R���(����(����R���R@�����s�����c���������C���s ���|��i�d�ƒ�S(���NR/���(���R���Rõ��(���R���(����(����R���RB�����s����c���������C���s@���d�|��i�i�ƒ��j�o�|��i�d�d�t�ƒSn�|��i�d�d�t�ƒS(���sg���gets groups and returns group file path for the repository, if there is none it returns NoneR¨���RÙ��Rp���N(���R���RP���R©���RG���Ri���(���R���(����(����R���t ���getGroups��s�����c���������C���s���|�|��_��t�|��_�d��S(���N(���R���R���Ri���R‘���(���R���R���(����(����R���t���setCallback!��s���� c���������C���s���|�|��_��t�|��_�d��S(���N(���RŽ���R���Ri���R‘���(���R���RŽ���(����(����R���t ���setFailureObj%��s���� c���������C���s���|�|��_�t�|��_�d��S(���N(���RŽ���R���R���Ri���R‘���(���R���RŽ���(����(����R���t���setMirrorFailureObj)��s���� c���������C���s���|�|��_�t�|��_�d��S(���N(���R���R���R���Ri���R‘���(���R���R���(����(����R���t���setInterruptCallback-��s���� c��� ������C���sö���g��}�g��}�|�d �j �oÓ�y�|�i�ƒ��}�WnA�t�j �o5�}�|�d �j�o �d�}�n�d�|�|�f�GHg��}�n�Xx|�|�D]p�}�t �i �d�|�ƒ�p�t �i �d�|�ƒ�o�qt�n�t �i�d�d�|�ƒ�}�t �i �d�d�|�ƒ�\�}�}�|�i�|�ƒ�qt�Wn�|�|�f�S( ���s5��� read the mirror list from the specified file object s ���<unknown>s+���Could not read mirrorlist %s, error was %ss���^\s*\#.*s���^\s*$s��� $R0���s���\$ARCHs ���$BASEARCHN(���t ���returnlistt���contentRŽ��R8���t ���readlinest ���ExceptionR²���RÎ���t���linet���ret���matcht���subRü���t���subnt���countR!���( ���R���RŽ��RÎ���R��R²���Rü��Rü���Rÿ��Rû��(����(����R���t���_readMirrorList1��s&����� �&c���������C���s»��|��i�d�d�|��_�d �} �t�}�|��i�|��i�|��i�ƒ�o)�t �}�t �|��i�d�ƒ�} �d�|��i�}�n�|��i�}�t �i �|�ƒ�d�}�|�d�j�o�d�|�}�n�|��i�ƒ��}�y�t�i�i�|�|��} �Wn0�t�i�i�j �o�}�d�|�|�f�GHd �} �n�X|��i�| �|�ƒ�\�} �}�| �oU�|��i�oF�|�o>�t �|��i�d�ƒ�}�x�|�D]�}�|�i�|�ƒ�q<W|�i�ƒ��q·nS�|�oJ�t�i�i �|��i�ƒ�o4�t�i!�|��i�d �ƒ�|��i�t �|��i�d�ƒ�ƒ�d�Sn�| �S( ���s$��retrieve an up2date-style mirrorlist file from our mirrorlist url, also save the file to the local repo dir and use that if cache expiry not expired we also s/$ARCH/$BASEARCH/ and move along return the baseurls from the mirrorlist file RX���s���mirrorlist.txtt���rs���file://i����R0���s-���Could not retrieve mirrorlist %s error was %st���wN("���R���R6���R.��R8���RŽ��R‚���t���cacheokRƒ��t���mirrorlist_expireRi���R��RÎ���RÃ���Rå���Rf��R���R��Rû���R\��t���urlopenRj���R²���R��Rû��Rü��RI���RÈ���Rÿ��t���writeR���R^���R_���Re���t���utime(���R���R²���Rü��R��RÎ���RÈ���R��Rÿ��Rf��Rû��RŽ��(����(����R���R6��G��s<����� �!c���������C���s{���t��i�i�|�ƒ�p�t�Sn�t��i�i�|�ƒ�o9�t��i�|�ƒ�t�i�t��i�|�ƒ�t�i�j�o�t�Sqg�n�t�i �|�|�ƒ�t �S(���s&���attempts to copy the file, if possibleN(���R^���R_���Re���Rñ��R‚���t���destfnRˆ��t���ST_CTIMER^��R§��Ri���(���R���Rñ��R ��(����(����R���t ���_preload_filer��s�����-R0���c���������C���sö���t��|��d�ƒ�p�t�Sn�|��i�d�j�o�t�Sn�t�i�i�|��i�|��i�ƒ�}�t�i�i �|�ƒ�p�t�Sn�t�i�i �|�ƒ�t�i�i �|��i�ƒ�j�o�t�Sn�|�d�|�t�i�i �|�ƒ�}�|�d�j�o%�|��i�d�|�t�i�i �|�ƒ�}�n�|��i�|�|�ƒ�S(���sL���attempts to copy the file from the system-wide cache, if possiblet���old_base_cache_dirR0���RX���N(���R3���R���R‚���R��R^���R_���R��R���t���glob_repo_cache_dirRe���t���normpathR6���t���subdirR`���Rê��Rñ��R ��R8���R��(���R���Rê��R��R ��R��Rñ��(����(����R���t���_preload_file_from_system_cache}��s�����( %c���������C���s ���|��i�|�ƒ�S(���sU���attempts to copy the metadata file from the system-wide cache, if possibleN(���R���R��Rê��(���R���Rê��(����(����R���Rd���’��s�����c���������C���s´���t��i�i�|�i�ƒ��ƒ�}�t��i�i�|��i�|�ƒ�}�|��i �|�i�ƒ��d�d�d�|�ƒo�t�Sn�t�|��d�ƒ�p�t �Sn�x;�|��i�D]0�}�|��i�t��i�i�|�|�ƒ�|�ƒ�o�t�Sq|�q|�Wt �S(���sO���attempts to copy the package from the system-wide cache, if possibleR��s ���packages/R ��R$��N(���R^���R_���R`���t���pkgRx��t���pnameR��R���RÆ���R ��R��Ri���R3���R‚���R$��t���opkgdirR��(���R���R��R ��R��R��(����(����R���Rz��—��s����� �"(e���Rk���Rl���Rm���R���Rœ���R ���t���propertyR¡���R���R¢���t���_YumRepository__getProxyDictR��R¥���R§���R«���R¬���R‚���R´���RÏ���RÙ���RÛ���RÝ���R£���Ri���R ��Rô���Ró���R���R ��R��t���grabfuncRt��R��R!��R#��R'��R6���RÆ���RÇ���R)��R¦���R+��R-��R*��R ��R/��RQ��RÍ���Ra��R5��R8���Ru��t���_YumRepository__getR|��R€��R…��RY��Rƒ��R��R��R‘��Rž��R£��R¨��R¬��R��R°��R²��Rµ��t���staticmethodRÁ��RÃ��RÅ��RÈ��RD���RÑ��Rß��Rà��Rá��Rå��Ræ��RP���R–��Rh���RÏ��Rõ��RG���R<���R@���RB���Rö��R÷��Rø��Rù��Rú��R��R6��R��R��Rd���Rz��(����(����(����R���Rn���ä���sÎ���� ; $ $ 'Z ) ( Y -# 5 + c��� ������C���sj��t��i�d�t�i�d�d�ƒg��}�t�t�i�d�ƒ�o �t�i�}�n�d��k �}�|�}�t �i �|��ƒ�d�} �| �d�j�o�d�|��}�n�|��}�y�|�i�|�d�|�ƒ}�Wn0�t�i�i�j �o�}�d �|�|�f�GHd��}�n�X|�d��j �o‹�|�i�ƒ��}�x|�|�D]p�} �t�i�d �| �ƒ�p�t�i�d�| �ƒ�o�qî�n�t�i�d�d�| �ƒ�}�t�i�d �d�|�ƒ�\�}�}�|�i�|�ƒ�qî�Wn�|�S(���Ns9���getMirrorList() will go away in a future version of Yum. Rï���i���R ��i����R0���s���file://R��s-���Could not retrieve mirrorlist %s error was %ss���^\s*\#.*s���^\s*$s��� $s���\$ARCHs ���$BASEARCH(���Rð���Rñ���R#���Rò���Rû��R3���Rû���R\��t���urlresolvert���urllibRå���RÃ���Rf��RÎ���R ��t���pdictRŽ��Rj���R²���R8���Rý��Rü��Rÿ��R���R��R��Rü���R��R��R!���( ���RÃ���R��R��Rü��R²���R��RÎ���R��Rü���Rÿ��Rf��Rû��RŽ��(����(����R���t ���getMirrorList©��s6���� � �&(4���R^���R���RŠ��Rè��Rå���t ���uses_fragmentR!���R#���t���urlgrabber.grabberR��R��t���urlgrabber.mirrorRû���Rj���RŸ��R���t���reposRt���RH��R4���R���t���yumRr���RJ���t ���constantsRÄ���t���M2CryptoR;��Ri���R:��t���ImportErrorR‚���t���loggingRp��Rð���R¦��R^��Rˆ��RÔ���R™��Rf���t���simplefilterRò���t ���getLoggerRÖ���Rn��R���R���Rs���Rn���R8���R ��(#���R���R#���Rf���RH��RJ���R^��R ��Rt���R™��RÔ���Rp��R��R���Rj���RÖ���R:��Rr���Rˆ��R���Rð���R¦��Rn��R)��R���Rè��RŸ��R��RÄ���Rå���R;��RŠ��R4���Rn���R^���Rû���(����(����R���Rà������sZ��� ÿ�ÿ�ÿ�ÿ�ÿ�Ê