Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
3 ÌÐg%Fã@s¸ddlmZddlmZddlmZddlZddlZddlmZmZddl m Z ddl m Z m Z ddl ZddlZddlZddlZddlZddlZddlZejdƒZGd d „d e jƒZdS) é)Úabsolute_import)Úprint_function)Úunicode_literalsN)Ú_Úucd)Úcommands)ÚTransactionReplayÚserialize_transactionÚdnfcs´eZdZdZd+ZedƒZddddd d d d gZ‡fd d„Ze dd„ƒZ dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd „Zd!d"„Zd#d$„Zd%d&„Zd'd(„Zd)d*„Z‡ZS),ÚHistoryCommandzUA class containing methods needed by the cli to execute the history command. ÚhistoryÚhistz(display, or use, the transaction historyÚlistÚinfoÚredoÚreplayÚrollbackÚstoreÚundoÚ userinstalledcstt|ƒj||Žd|_dS)NF)Úsuperr Ú__init__Ú_require_one_transaction_id)ÚselfÚargsÚkw)Ú __class__©ú/usr/lib/python3.6/history.pyr4szHistoryCommand.__init__c Csº|jddddjtjddjtjdd…ƒƒd�|jd d d d �|jd ddtdƒd�|jdd tdƒd �|jdd tdƒd �|jdd tdƒd �|jddddd�|jddddd�dS)NÚtransactions_actionú?ZCOMMANDz$Available commands: {} (default), {}rz, é)ÚnargsÚmetavarÚhelpz --reverseÚ store_truez$display history list output reversed)Úactionr$z-oz--outputz, 'last' or 'last-' for one transaction, .. for a range)Útransaction_filenameZTRANSACTION_FILEzEFor the replay command, path to the stored transaction file to replay)Ú add_argumentÚformatr Ú_CMDSÚjoinr)ÚparserrrrÚ set_argparser9s$        zHistoryCommand.set_argparsercCs.|jjs|jd|j_n0|jj|jkrH|jjjd|jjƒ|jd|j_tdƒj|jjƒ|_|jj }|jjdk�r|jjsŠt jj tdƒƒ‚t |jjƒdkrªt jj tdƒƒ‚t jj|jjdƒ|j_g|j_d|_d|_d|_d|jj_d|jj_t jjj|j|jƒnÎ|jjd k�r6d|_|jj�sÔt jj td ƒƒ‚nž|jjdk�rÎd|_d|_d|_d|_|jj�s†td ƒ}tj|ƒt jj |ƒ‚n,t |jjƒdk�r²tj|jƒt jj |jƒ‚d|_t jjj|j|jƒnd|_d|_|jjjdk�r*t j |jjjt j!ƒ �r*td|jjjƒ}tj|ƒt jj |ƒ‚dS)NrzUFound more than one transaction ID. '{}' requires one transaction ID or package name.rzNo transaction file name given.r!z6More than one argument given as transaction file name.TFrz(No transaction ID or package name given.rrrz:memory:z+You don't have access to the history DB: %s)rrr)"Úoptsrr-r(Úinsertrr,Ú_require_one_transaction_id_msgÚcliÚdemandsr ÚCliErrorÚlenÚosÚpathÚabspathr*Zavailable_reposZ resolvingZ root_userÚbaseÚconfZclean_requirements_on_removeZinstall_weak_depsrZ _checkGPGKeyrÚloggerÚcriticalZfresh_metadataZsack_activationr ÚaccessÚR_OK)rr5ÚmsgrrrÚ configureUsZ       ( zHistoryCommand.configurecCsˆt|tjjƒrv|jjdkr2|jj\}tdƒ|fS|jjdkrv|jjddkrV|jjn|jjdd…\}tdƒ|fStjj j j ||ƒS) z.Get suggestions for resolving the given error.rzVCannot undo transaction %s, doing so would result in an inconsistent package database.rrÚforcer!NzZCannot rollback transaction %s, doing so would result in an inconsistent package database.) Ú isinstancer Ú exceptionsZTransactionCheckErrorr1rr(rr4rÚCommandÚget_error_output)rÚerrorZid_rrrrG’s   zHistoryCommand.get_error_outputcCs:|j|ƒ}t|ƒ}t|j|dd|jjd�|_|jjƒdS)NT)ÚdataÚignore_installedÚ ignore_extrasÚskip_unavailable)Ú_history_get_transactionr rr;r1rLrÚrun)rÚextcmdsÚoldrIrrrÚ _hcmd_redo¡s zHistoryCommand._hcmd_redocCsD|stjjtdƒƒ‚|jjj|ƒ}|s@tjjtdƒj|dƒƒ‚|S)NzNo transaction ID givenzTransaction ID "{0}" not found.r)r r4r6rr;r rPr,)rrOrPrrrÚ_history_get_transactions­s z(HistoryCommand._history_get_transactionscCs.|j|ƒ}t|ƒdkr&tjjtdƒƒ‚|dS)Nr!z#Found more than one transaction ID!r)rRr7r r4r6r)rrOrPrrrrM¶s  z'HistoryCommand._history_get_transactioncCs|j|ƒ}|j|ƒdS)N)rMÚ_revert_transaction)rrOrPrrrÚ _hcmd_undo¼s zHistoryCommand._hcmd_undocCs¶|j|ƒ}|jjjƒ}d}|j|jkr¨x€|jjjtt|jd|jdƒƒƒD]X}|jrjt j t dƒ|jƒn|j r‚t j t dƒ|jƒ|dkršt jjj|ƒ}qL|j|ƒqLW|j|ƒdS)Nr!z-Transaction history is incomplete, before %u.z,Transaction history is incomplete, after %u.)rMr;r ÚlastÚtidrPrÚrangeZaltered_lt_rpmdbr=ZwarningrZaltered_gt_rpmdbr ZdbZMergedTransactionWrapperÚmergerS)rrOrPrUZ merged_transÚtransrrrÚ_hcmd_rollbackÀs   *zHistoryCommand._hcmd_rollbackc Cs&dddddddddd d d œ }t|ƒ}xØdD]Ð}xÊ|j|gƒD]º}||d|d<|ddkrt|jddƒdkrtd|d<|dd krÞd|krÞtj|dƒ}|jtjgd�d}|jjjj |j |j |j ƒddƒ}t jj|ƒ|d<|jdƒtjkr.str2transaction_idz..ézWInvalid transaction ID range definition '{}'. Use '..'.zNCan't convert '{}' to transaction ID. Use '', 'last', 'last-'.r!z8No transaction which manipulates package '{}' was found.T)Úreverse)Úsetr1r(ÚsplitÚ ValueErrorr=r>rr,r r4r6rr3ÚaddÚupdaterWrkr ÚsearchrÚsorted) rrvrmÚ merged_tidsÚtZbegin_transaction_idZend_transaction_idZcant_convert_msgZtransact_ids_from_pkgnamerAr)rrÚ_args2transaction_ids sV          z$HistoryCommand._args2transaction_idsc Cs@|jj}|dkrDt|j|jj|jj|jj|jjd�|_|jj ƒ�nø|j ƒ\}}|dkr~|sf|jj r~|j j ||jjd��n¾|dkr¬|s”|jj r¬|j j||jj |ƒ�n�|dkrÂ|j|ƒ�nz|dkrØ|j|ƒ�nd|dkrî|j|ƒ�nN|d k�r|jƒ�n8|d k�r<|j|ƒ}t|ƒ}yÜ|jj dk �r8|jj nd }|jjj�sV|jjj �r¶tjj|ƒ�r¶td ƒj|ƒ}|jjj�s |jj jd j|ƒdj|ƒd� �r¶ttdƒj|ƒƒdSt |dƒ�"}t!j"||ddd�|j#dƒWdQRXttdƒj|ƒƒWn>t$k �r:} z t%j&j'tdƒjt(| ƒƒƒ‚WYdd} ~ XnXdS)Nr)ÚfilenamerJrKrLr)rxrrrrrrztransaction.jsonz{} exists, overwrite?z {} [y/N]: z {} [Y/n]: )rAZdefaultyes_msgzNot overwriting {}, exiting.ÚwrrT)ÚindentZ sort_keysÚ zTransaction saved to {}.zError storing transaction: {}))r1rrr;r*rJrKrLrrNr‚r(rkZhistoryListCmdrxZhistoryInfoCmdrTrQrZrprMr r<ZassumenoZ assumeyesr8r9Úisfilerr,Z userconfirmÚprintÚopenÚjsonÚdumpÚwriteÚOSErrorr r4r6Ústr) rZvcmdrmr€rVrIrƒrAÚfÚerrrrNMsN     ( zHistoryCommand.runcCs|jjdkrdS|jjƒdS)Nrrrr)rrrr)r1rrZpost_transaction)rrrrÚ run_resolveds zHistoryCommand.run_resolvedcCsX|jjdkrdS|jjƒ}|rTtjtjjt dƒƒx |D]}tjtjjd|ƒq8WdS)NrrrrzEWarning, the following problems occurred while running a transaction:z )rrrr) r1rrZ get_warningsr=Úlogr ÚloggingZWARNINGr)rÚwarningsr„rrrÚrun_transaction…s    zHistoryCommand.run_transaction)r r )Ú__name__Ú __module__Ú __qualname__Ú__doc__ÚaliasesrZsummaryr-rÚ staticmethodr0rBrGrQrRrMrTrZrSrpr‚rNr‘r•Ú __classcell__rr)rrr *s&  =  0@2r )Z __future__rrrrnrjZdnf.i18nrrZdnf.clirZdnf.transaction_srrr r Zdnf.exceptionsZdnf.transactionZdnf.utilrŠr“r8Z getLoggerr=rFr rrrrÚs