Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
3 ÌÐgLQã@sFddlmZddlmZddlmZmZddlZddlZddl Zddl Zddl Zddl Zddl ZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZdZ dZ!ej"ej#dZ$dej%e$ƒej&fZ'd e'e!fd e'e fd d œZ(ej)d ƒZ*dd„Z+dd„Z,d-dd„Z-dd„Z.Gdd„de/ƒZ0Gdd„de1ƒZ2Gdd„dej3j4ƒZ5Gdd„de/ƒZ6Gdd „d ej7j8ƒZ9Gd!d"„d"ej3j:ƒZ;Gd#d$„d$e;ƒZej7j?j@ZAej7j?jBZCej7j?jDZEGd)d*„d*ej7jFƒZGGd+d,„d,ejHjIƒZ?dS).é)Úabsolute_import)Úunicode_literals)ÚucdÚ_NÚpackagesZ mirrorlistz-_.:z(?P[%s]+)\-[%s]{16}z>^%s\/.*((xml|yaml)(\.gz|\.xz|\.bz2|.zck)?|asc|cachecookie|%s)$z^%s\/%s\/.+rpm$z^.+(solv|solvx)$)ÚmetadatarZdbcacheÚdnfcCstjjj|ƒ}|dkrdS|S)zAReturn index of an invalid character in the repo ID (if present).rN)ÚlibdnfÚrepoÚRepoZverifyId)Zrepo_idZ first_invalid©r ú/usr/lib/python3.6/repo.pyÚrepo_id_invalidHsrcGs8x"|D]}|||ƒ}|dk r|SqWttdƒ|ƒ‚dS)Nz"no matching payload factory for %s)Ú ValueErrorr)ÚpkgÚprogressZ factoriesÚfnÚploadr r r Ú _pkg2payloadOs   rTc Csüdd„}|jjƒdd„t||d�Dƒ}tƒ}ytjjjtjj|ƒ|ƒWn,t k rv}zt |ƒ|_ WYdd}~XnX|j ƒ|jj ƒ|_xj|D]b}|jƒ}|dks’|jdƒr²q’|jƒ} | j} | j} |dkrÜ|jj| ƒq’| jjjƒ|g|j| <q’W|S)NcSs t|dƒ S)NZdelta)Úhasattr)Úpayloadr r r Ú_download_sort_keyYsz._download_payloads.._download_sort_keycSsg|] }|jƒ‘qSr )Ú_librepo_target)Ú.0rr r r ú ]sz&_download_payloads..)Úkeyz Not finishedzAlready downloaded)ÚerrÚclearÚsortedÚ_DownloadErrorsr r Ú PackageTargetZdownloadPackagesZVectorPPackageTargetÚ RuntimeErrorÚstrÚ_fatalÚwaitÚcopyÚ _recoverableZgetErrÚ startswithZ getCallbacksÚ package_ploadrÚ_skippedÚaddÚ_repoZexpireÚ_pkg_irrecoverable) ÚpayloadsZdrpmZ fail_fastrZtargetsÚerrsÚeZtgtrÚ callbacksrrr r r Ú_download_payloadsWs0     r1cCsL|\}}x:|D]2}|j}||kr,||j7}q||j7}||j7}qW||fS)N)rÚ download_sizeÚ _full_size)Zsavingr-r.ÚrealZfullrrr r r Ú_update_savingxs   r5c@s>eZdZdd„Zdd„Zedd„ƒZejdd„ƒZdd „Zd S) rcCsi|_i|_d|_tƒ|_dS)N)r,Ú_val_recoverabler#Úsetr))Úselfr r r Ú__init__…sz_DownloadErrors.__init__cCs"|jr |jS|jrd|jgiSiS)NÚ)r,r#)r8r r r Ú_irrecoverable‹s  z_DownloadErrors._irrecoverablecCs|jS)N)r6)r8r r r r&’sz_DownloadErrors._recoverablecCs ||_dS)N)r6)r8Znew_dctr r r r&–scCs|j|jkrdS|jS)Nr)rr)r2)r8rr r r Ú_bandwidth_usedšs z_DownloadErrors._bandwidth_usedN) Ú__name__Ú __module__Ú __qualname__r9r;Úpropertyr&Úsetterr<r r r r r„s  rc@seZdZdd„ZdS)Ú_DetailedLibrepoErrorcCs,tj|ƒ|jd|_|jd|_||_dS)Nré)Ú Exceptionr9ÚargsZ librepo_codeZ librepo_msgÚ source_url)r8Z librepo_errrFr r r r9¡s   z_DetailedLibrepoError.__init__N)r=r>r?r9r r r r rB srBc@seZdZdd„ZdS)Ú_NullKeyImportcCsdS)NTr )r8ÚidÚuseridÚ fingerprintÚurlÚ timestampr r r Ú_confirm©sz_NullKeyImport._confirmN)r=r>r?rMr r r r rG¨srGc@s eZdZdd„Zedd„ƒZdS)ÚMetadatacCs ||_dS)N)r+)r8r r r r r9®szMetadata.__init__cCs |jjƒS)N)r+Úfresh)r8r r r rO±szMetadata.freshN)r=r>r?r9r@rOr r r r rN­srNcs4eZdZ‡fdd„Zdd„Zdd„Zdd„Z‡ZS) ÚPackageTargetCallbackscstt|ƒjƒ||_dS)N)ÚsuperrPr9r()r8r()Ú __class__r r r9¸szPackageTargetCallbacks.__init__cCs|jjd||ƒdS)Nr)r(Ú_end_cb)r8ÚstatusÚmsgr r r Úend¼szPackageTargetCallbacks.endcCs|jjd||ƒdS)Nr)r(Ú _progress_cb)r8ÚtotalToDownloadÚ downloadedr r r rÀszPackageTargetCallbacks.progresscCs|jjd||ƒdS)Nr)r(Ú_mirrorfail_cb)r8rUrKr r r Ú mirrorFailureÄsz$PackageTargetCallbacks.mirrorFailure)r=r>r?r9rVrr[Ú __classcell__r r )rRr rP·s rPcsHeZdZ‡fdd„Zdd„Zdd„Zdd„Zed d „ƒZd d „Z ‡Z S) ÚPackagePayloadcs$tt|ƒj|ƒt|ƒ|_||_dS)N)rQr]r9rPr0r)r8rr)rRr r r9Ês zPackagePayload.__init__cCsRtjj}|dkrtjj}n$|jdƒr(dS|tjjjkr>tjj }|j j |||ƒdS)z"End callback to librepo operation.Nz Not finished) rÚcallbackZ STATUS_FAILEDZ STATUS_OKr'r r ÚPackageTargetCBZTransferStatus_ALREADYEXISTSZSTATUS_ALREADY_EXISTSrrV)r8ÚcbdataZ lr_statusrUrTr r r rSÏs  zPackagePayload._end_cbcCs|jj|tjj|ƒdS)N)rrVrr^Z STATUS_MIRROR)r8r`rrKr r r rZÛszPackagePayload._mirrorfail_cbc CsXy|jj||ƒWn@tk rRtjƒ\}}}tj|||ƒ}tjdj|ƒƒYnXdS)Nr:) rrDÚsysÚexc_infoÚ tracebackÚformat_exceptionÚloggerÚcriticalÚjoin)r8r`ÚtotalÚdoneÚexc_typeÚ exc_valueÚ exc_tracebackÚ except_listr r r rWÞs zPackagePayload._progress_cbcCs|jS)N)r2)r8r r r r3æszPackagePayload._full_sizec Cs€|j}|j}tjj|ƒ|d||j|j|jdœ}|j|j ƒƒt j j |j j |d|d|d|d|d|d|d d d |jƒ S) NT)ÚdestÚresumer`Z progresscbZendcbZmirrorfailurecbÚ relative_urlrnÚ checksum_typeÚchecksumÚ expectedsizeÚbase_urlror)rÚpkgdirrÚutilÚ ensure_dirrWrSrZÚupdateÚ_target_paramsr r r r+r0)r8rruZ target_dctr r r rês   zPackagePayload._librepo_target) r=r>r?r9rSrZrWr@r3rr\r r )rRr r]És    r]c@s(eZdZdd„Zdd„Zedd„ƒZdS)Ú RPMPayloadcCstjj|jjƒS)N)ÚosÚpathÚbasenamerÚlocation)r8r r r Ú__str__szRPMPayload.__str__cCsT|j}|jƒ\}}tjjj|ƒ}|tjjjkr>tjt dƒ|ƒ|j |||j |j dœS)Nzunsupported checksum type: %s)rprqrrrsrt) rZ returnIdSumr r r Z checksumTypeZChecksumType_UNKNOWNreÚwarningrr~Ú downloadsizeÚbaseurl)r8rZctypeZcsumZ ctype_coder r r rys zRPMPayload._target_paramscCs|jjS)zTotal size of the download.)rr�)r8r r r r2szRPMPayload.download_sizeN)r=r>r?rryr@r2r r r r rzsrzcs@eZdZ‡fdd„Zdd„Zdd„Zdd„Zed d „ƒZ‡Z S) ÚRemoteRPMPayloadcs¦tt|ƒjd|ƒ||_d|_||_|jjp.d|jjjdƒ}t j |j dƒƒj ƒdd…}d|}t jj|jj|dƒ|_tjj|jƒt jj|j|jƒjd ƒƒ|_dS) NZ unused_objectrr:ZbasearchÚutf8éz commandline-rú/)rQrƒr9Úremote_locationÚ remote_sizeÚconfZ releaseverÚ substitutionsÚgetÚhashlibZsha256ÚencodeZ hexdigestr{r|rgZcachedirrurrvrwrÚlstripZ local_path)r8r‡r‰rÚsZdigestZrepodir)rRr r r9szRemoteRPMPayload.__init__cCstjj|jƒS)N)r{r|r}r‡)r8r r r r)szRemoteRPMPayload.__str__c Cs^||_y|jj||ƒWn@tk rXtjƒ\}}}tj|||ƒ}tjdj |ƒƒYnXdS)Nr:) rˆrrDrarbrcrdrerfrg)r8r`rhrirjrkrlrmr r r rW,szRemoteRPMPayload._progress_cbc Cs<tjj|jjtjj|jƒ|j dddtjj |jƒddd|j ƒ S)NrT) r r r r‰Ú_configr{r|r}r‡ruÚdirnamer0)r8r r r r5sz RemoteRPMPayload._librepo_targetcCs|jS)zTotal size of the download.)rˆ)r8r r r r2;szRemoteRPMPayload.download_size) r=r>r?r9rrWrr@r2r\r r )rRr rƒs   rƒcszeZdZ‡fdd„Zdd„Zdd„Zdd„Zd d „Zd d „Ze d d„ƒZ e dd„ƒZ e j dd„ƒZ dd„Z dd„Z‡ZS)Ú MDPayloadcs.tt|ƒj|ƒd|_d|_d|_tƒ|_dS)Nr:rF)rQr’r9Ú_textÚ_download_sizeÚfastest_mirror_runningr7Úmirror_failures)r8r)rRr r r9Cs zMDPayload.__init__cCstjjr|jS|jjdƒSdS)Nzutf-8)rÚpycompZPY3r“r�)r8r r r rJszMDPayload.__str__cCs|jS)N)r“)r8r r r Ú __unicode__PszMDPayload.__unicode__cCs||_|jj||ƒdS)N)r”r)r8r`rhrir r r rWSszMDPayload._progress_cbcCs\|tjjjkr"tdƒ|}d|_n*|tjjjkrH|jrH|rBd|nd}ndS|jj|ƒdS)Nz,determining the fastest mirror (%s hosts).. Tz error: %s zdone. ) r r ÚRepoCBZFastestMirrorStage_DETECTIONrr•ZFastestMirrorStage_STATUSrÚmessage)r8r`ÚstageÚdatarUr r r Ú_fastestmirror_cbWs zMDPayload._fastestmirror_cbcCs&|jj|ƒd||f}tj|ƒdS)Nzerror: %s (%s).)r–r*reÚdebug)r8r`rUrKrr r r Ú_mirror_failure_cbcs  zMDPayload._mirror_failure_cbcCs|jS)N)r”)r8r r r r2hszMDPayload.download_sizecCs|jS)N)Ú _progress)r8r r r rlszMDPayload.progresscCs|dkrtjjƒ}||_dS)N)rr^ÚNullDownloadProgressr )r8rr r r rps cCs||_|jjddƒdS)NrCr)r“rÚstart)r8Útextr r r r¢vszMDPayload.startcCsd|_|jj|ddƒdS)Nr)r”rrV)r8r r r rVzsz MDPayload.end)r=r>r?r9rr˜rWr�rŸr@r2rrAr¢rVr\r r )rRr r’As    r’csLeZdZ‡fdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z ‡Z S)Ú RepoCallbackscs tt|ƒjƒ||_|j|_dS)N)rQr¤r9r+Ú _md_pload)r8r )rRr r r9ˆszRepoCallbacks.__init__cCs|jj|ƒdS)N)r¥r¢)r8Zwhatr r r r¢�szRepoCallbacks.startcCs|jjƒdS)N)r¥rV)r8r r r rV�szRepoCallbacks.endcCs|jjd||ƒdS)Nr)r¥rW)r8rXrYr r r r“szRepoCallbacks.progresscCs|jjd||ƒdS)N)r¥r�)r8r›Zptrr r r Ú fastestMirror—szRepoCallbacks.fastestMirrorcCs|jjd|||ƒdS)Nr)r¥rŸ)r8rUrKrr r r ÚhandleMirrorFailurešsz!RepoCallbacks.handleMirrorFailurecCs|jjj|||||ƒS)N)r+Ú _key_importrM)r8rHrIrJrKrLr r r Ú repokeyImportžszRepoCallbacks.repokeyImport) r=r>r?r9r¢rVrr¦r§r©r\r r )rRr r¤‡s r¤cseZdZeZd7‡fdd„ Zedd„ƒZedd„ƒZej dd„ƒZed d „ƒZ d d „Z e j d d „ƒZ edd„ƒZ edd„ƒZ e j dd„ƒZ dd„Zdd„Z‡fdd„Zdd„Zdd„Zdd„Zdd „Zd!d"„Zd#d$„Zd%d&„Zd'd(„Zd)d*„Zd+d,„Zd-d.„Zd/d0„Zd9d5d6„Z‡ZS):r NcsÖtt|ƒj||d�|jjjƒtjj|r.|nd|jƒ|_t t j j ƒƒ|_ t|ƒ|_|jjjƒ|jj|jƒd|_tƒ|_d|_|jj|r–|jr–tn|jƒ|r°|jj|jƒt jjjƒ|_|dk rÌ|jnd|_dS)N)ZsectionÚparentr:T) rQr r9r�ÚthisZdisownr r r+r’rr^r¡r¥r¤Z _callbacksZ setCallbacksÚ_pkgdirrGr¨rZsetSyncStrategyZ cacheonlyÚSYNC_ONLY_CACHEÚ DEFAULT_SYNCZsetSubstitutionsrŠr‰Z SubstitutionsZ_substitutionsZcheck_config_file_ageZ_check_config_file_age)r8ÚnameZ parent_conf)rRr r r9¦s   z Repo.__init__cCs |jjƒS)N)r+ZgetId)r8r r r rH¼szRepo.idcCs |jjƒS)N)r+ZgetRepoFilePath)r8r r r ÚrepofileÁsz Repo.repofilecCs|jj|ƒdS)N)r+ZsetRepoFilePath)r8Úvaluer r r r°ÆscCs|jjƒr|jjƒS|jƒS)N)r+ZisLocalZgetLocalBaseurlÚ cache_pkgdir)r8r r r ruÊs  z Repo.pkgdircCs$|jdk r|jStjj|jjƒtƒS)N)r¬r{r|rgr+Ú getCachedirÚ_PACKAGES_RELATIVE_DIR)r8r r r r²Ñs zRepo.cache_pkgdircCs ||_dS)N)r¬)r8Úvalr r r ruÖscCstjj|jjƒdƒS)NZpubring)r{r|rgr+r³)r8r r r Ú _pubring_dirÛszRepo._pubring_dircCs |jjƒS)N)r+ZgetLoadMetadataOther)r8r r r Úload_metadata_otherßszRepo.load_metadata_othercCs|jj|ƒdS)N)r+ZsetLoadMetadataOther)r8rµr r r r·ãscCs |j|jkS)N)rH)r8Úotherr r r Ú__lt__çsz Repo.__lt__cCsd|jj|jfS)Nz<%s %s>)rRr=rH)r8r r r Ú__repr__êsz Repo.__repr__cstt|ƒj||ƒdS)N)rQr Ú __setattr__)r8r¯r±)rRr r r»íszRepo.__setattr__cCs|jjƒdS)N)r+Údisable)r8r r r r¼ðsz Repo.disablecCs|jjƒdS)N)r+Úenable)r8r r r r½ôsz Repo.enablecCs|jj|ƒdS)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+ZaddMetadataTypeToDownload)r8Ú metadata_typer r r Úadd_metadata_type_to_downloadøs z"Repo.add_metadata_type_to_downloadcCs|jj|ƒdS)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+ZremoveMetadataTypeFromDownload)r8r¾r r r Ú"remove_metadata_type_from_downloadsz'Repo.remove_metadata_type_from_downloadcCs |jj|ƒS)z˜Return path to the file with downloaded repository metadata of given type. Parameters ---------- metadata_type: string )r+ZgetMetadataPath)r8r¾r r r Úget_metadata_pathszRepo.get_metadata_pathcCs |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+ZgetMetadataContent)r8r¾r r r Úget_metadata_content!s zRepo.get_metadata_contentcCsªd}zˆy|jjƒ}Wnttjjtfk rˆ}zP|jjrhd|j}x|jjD]}|d|7}qJWt j |ƒt j j t|ƒƒ‚WYdd}~XnXWdtƒ|j_Xt|jƒ|_|S)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!r¥r–rHrer€rÚ exceptionsZ RepoErrorr"r7rNr)r8Úretr/rUZfailurer r r rÃ-s  &  z Repo.loadcCsP|js|jjdƒ|jrL|jdkr&dS|jjƒ}|jjƒrDtd|ƒ}d|fSdS) 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. FrCTNréÿÿÿÿ)TN)Fr)rr+Z loadCacheZmetadata_expireZ getExpiresInZ isExpiredÚmin)r8Z expirationr r r Ú_metadata_expire_inJs     zRepo._metadata_expire_incCs ||_dS)N)r¨)r8Z key_importr r r Ú_set_key_import]szRepo._set_key_importcCs ||j_dS)N)r¥r)r8rr r r Úset_progress_bar`szRepo.set_progress_barcCs |jjƒS)zoReturns user defined http headers. Returns ------- headers : tuple of strings )r+ZgetHttpHeaders)r8r r r Úget_http_headersdszRepo.get_http_headerscCs|jj|ƒdS)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+ZsetHttpHeaders)r8Zheadersr r r Úset_http_headersns zRepo.set_http_headersÚhttpÚftpÚfileÚhttpscs@‡‡fdd„}ˆsdS|jjƒ}|r,||ƒS|jr<||jƒSdS)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 csZxT|D]L}ˆr>tjjj|ƒd}|ˆkrRtjj|ˆjdƒƒSqtjj|ˆjdƒƒSqWdS)Nrr†)rr—Zurlparser{r|rgrŽ)Zurl_listrKr�)r~Úschemesr r Úschemes_filter�s z,Repo.remote_location..schemes_filterN)r+Z getMirrorsr‚)r8r~rÓrÔZmirrorsr )r~rÓr r‡{s  zRepo.remote_location)NN©rÏrÐrÑrÒ)rÕ)r=r>r?ÚSYNC_TRY_CACHEr®r9r@rHr°rArur²r¶r·r¹rºr»r¼r½r¿rÀrÁrÂrÃrÊrËrÌrÍrÎr‡r\r r )rRr r ¢s6          r )T)JZ __future__rrZdnf.i18nrrZ dnf.callbackrZdnf.confZdnf.conf.substitutionsZ dnf.constZ dnf.cryptoZdnf.exceptionsZ dnf.loggingZ dnf.pycompZdnf.utilZ dnf.yum.miscZ libdnf.errorr Z libdnf.repoÚ functoolsrŒZhawkeyZloggingÚoperatorr{ÚreZshutilÚstringraZtimercr´Z_MIRRORLIST_FILENAMEZ ascii_lettersZdigitsZ _REPOID_CHARSÚescapeZ hexdigitsZ _CACHEDIR_REZ CACHE_FILESZ getLoggerrerrr1r5ÚobjectrrDrBr^Z KeyImportrGrNr r_rPZPayloadr]rzrƒr’r ZSyncStrategy_LAZYZ SYNC_LAZYZSyncStrategy_ONLY_CACHEr­ZSyncStrategy_TRY_CACHErÖr™r¤r‰ZRepoConfr r r r Úsl       !  8&?