403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /lib64/python3.9/site-packages/hgext/remotefilelog/__pycache__/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /lib64/python3.9/site-packages/hgext/remotefilelog/__pycache__/basepack.cpython-39.pyc
a

�+�bJ�@s8ddlmZddlZddlZddlZddlZddlZddlZddlm	Z	ddl
mZmZddl
mZddlmZmZmZmZddlmZdd	lmZe�d
�ZdZdZeZdZdZdZ d
Z!dZ"ej#r�ej$s�dZ%ndZ%Gdd�de&�Z'Gdd�de&�Z(Gdd�de&�Z)Gdd�de)�Z*Gdd�de)�Z+Gdd�de&�Z,dS)�)�absolute_importN)�_)�getattr�open)�hex)�policy�pycompat�util�vfs)�hashutil�)�shallowutil�osutil����i g�������?srbesrbc@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�_cachebackedpackscCsJt|�|_t�|�|_d|_ttt|t	|����D]}|�
||�q2dS�N)�set�_packsr	Zlrucachedict�	_lrucache�	_lastpack�reversed�range�min�len�_movetofront)�self�packsZ	cachesize�i�r�B/usr/lib64/python3.9/site-packages/hgext/remotefilelog/basepack.py�__init__Es

z_cachebackedpacks.__init__cCsd|j|<dS)NT)r�r�packrrr rOsz_cachebackedpacks._movetofrontcCs |jdur|�|j�d|_dSr)rr�rrrr �_registerlastpackusageSs
z(_cachebackedpacks._registerlastpackusagecCs"|��|�|�|j�|�dSr)r%rr�addr"rrr r&Xs
z_cachebackedpacks.addccsV|��|jD]}||_|Vqdd�|jD�}|j|D]}||_|Vq:d|_dS)NcSsh|]}|�qSrr)�.0r#rrr �	<setcomp>h�z-_cachebackedpacks.__iter__.<locals>.<setcomp>)r%rrr)rr#Zcachedpacksrrr �__iter__`s
z_cachebackedpacks.__iter__N)�__name__�
__module__�__qualname__r!rr%r&r*rrrr rDs

rc@sbeZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
ddd�Zdd�Zdd�Z
dS)�
basepackstore�dcCs�||_||_d|_g}|��D]|\}}}z|�|�}WnXty�}z@t|dd�tjkrn|�	t
d�||f�WYd}~qWYd}~n
d}~00|�|�qt||j
�|_dS)Nr�errnosunable to load pack %s: %s
)�ui�path�lastrefresh�_getavailablepackfilessorted�getpack�	Exceptionrr0�ENOENT�warnr�appendr�DEFAULTCACHESIZEr)rr1r2r�filepath�__r#�exrrr r!vs"zbasepackstore.__init__c
cs:t|j�}t|j�}t�}t�dd��}t�dd��}z�tj|jdd�D]�\}}}d}	||d�|jkrz|d|�}	n"||d�|jkr�|d|�}	|	rH||	|j	7<||	�
|j�|	|vr�tj�
|j|	�t||	�||	fVqH|�|	�qHWn6t�y4}
z|
jtjk�r �WYd}
~
n
d}
~
00dS)z�For each pack file (a index/data file combo), yields:
          (full path without extension, mtime, size)

        mtime will be the mtime of the index/data file (whichever is newer)
        size is the combined size of index/data file
        cSsdS)Nrrrrrr �<lambda>�r)z6basepackstore._getavailablepackfiles.<locals>.<lambda>cSsgSrrrrrr r>�r)T)�statN)r�INDEXSUFFIX�
PACKSUFFIXr�collections�defaultdictr�listdirr2�st_sizer9�st_mtime�os�join�maxr&�OSErrorr0r7)rZindexsuffixlenZ
packsuffixlenZidsZsizesZmtimes�filename�typer?�idr=rrr �_getavailablepackfiles�s0


�z$basepackstore._getavailablepackfilesccsTg}|��D]\}}}|�|||f�qt|dd�}|D]\}}}|||fVq8dS)z�Like `_getavailablepackfiles`, but also sorts the files by mtime,
        yielding newest files first.

        This is desirable, since it is more likely newer packfiles have more
        desirable data.
        T)�reverseN)rNr9�sorted)r�filesr2�mtime�sizerrr r4�sz*basepackstore._getavailablepackfilessortedcCs4d}d}|��D]\}}}||7}|d7}q||fS)aLReturns the total disk size (in bytes) of all the pack files in
        this store, and the count of pack files.

        (This might be smaller than the total size of the ``self.path``
        directory, since this only considers fuly-writen pack files, and not
        temporary files or other detritus on the directory.)
        rr)rN)rZ	totalsize�countr<rSrrr �gettotalsizeandcount�s
z"basepackstore.gettotalsizeandcountcCs|��\}}||d�S)z+Returns metrics on the state of this store.)snumpackss
totalpacksize)rU)rrSrTrrr �
getmetrics�s�zbasepackstore.getmetricscCs
t��dSr��NotImplementedError)rr2rrr r5�szbasepackstore.getpackcCsF|}|jD]}|�|�}|s
|Sq
|rB|��D]}|�|�}q2|Sr)r�
getmissing�refresh)r�keys�missingr#rrr rY�s


zbasepackstore.getmissingNcCs|jD]}|�|�qdSr)r�
markledger)r�ledger�optionsr#rrr r]�s
zbasepackstore.markledgercCs
d|_dS)z~Tells the store that there may be new pack files, so the next time it
        has a lookup miss it should check for new files.rN)r3r$rrr �markforrefresh�szbasepackstore.markforrefreshcCspt��}g}||jtkrl||_dd�|jD�}|��D]2\}}}||vr8|�|�}|�|�|j�|�q8|S)ztChecks for any new packs on disk, adds them to the main pack list,
        and returns a list of just the new packs.cSsh|]
}|j�qSr)r2)r'�prrr r(r)z(basepackstore.refresh.<locals>.<setcomp>)�timer3�REFRESHRATErr4r5r9r&)rZnowZnewpacksZpreviousr;r<Znewpackrrr rZ�s

zbasepackstore.refresh)N)r+r,r-r:r!rNr4rUrVr5rYr]r`rZrrrr r.rs'
r.c@seZdZdZdgZdd�ZdS)�versionmixinNrcCsD||jvr4|jdur||_q@|j|kr@td|��ntd|��dS)Nsinconsistent version: %dsunsupported version: %d)�SUPPORTED_VERSIONS�VERSION�RuntimeError)r�versionrrr �
_checkversions


zversionmixin._checkversion)r+r,r-rfrerirrrr rdsrdc@sleZdZdZdgZdd�Zejdd��Zejdd��Z	d	d
�Z
dd�Zddd�Zdd�Z
dd�Zdd�Zd
S)�basepacki@rcCs�||_||j|_||j|_t�|j�j|_t�|j�j|_	d|_
d|_|��t
�d|jdt��d}|�|�t
�d|j
dt��\}}|�|�d|@r�tt|�|_ntt|�|_dS)N�!Br�!BB�)r2rA�packpathr@�	indexpathrGr?rEZ	indexsizeZdatasize�_index�_data�
freememory�struct�unpack�PACKVERSIONSIZEri�INDEXVERSIONSIZE�indexparams�LARGEFANOUTPREFIX�params�SMALLFANOUTPREFIX)rr2rh�configrrr r!'s

zbasepack.__init__cCsd|j}|jtt|j�}g}t�d|j�D]2}|d}t�d|||d��d}|�	|�q,|S)Nr��!I)
ryrp�FANOUTSTART�
fanoutsizerZxrange�fanoutcountrsrtr9)rryZ	rawfanout�fanouttabler�locZfanoutentryrrr �_fanouttable>szbasepack._fanouttablecCs.t�d|j|jjd�d}|jj||jS)N�!Q�r)rs�unpack_fromrpry�
indexstart�INDEXENTRYLENGTH)rZ	nodecountrrr �	_indexendIs��zbasepack._indexendcCs�|jr*|j|jkrdS|j��|j��t|jt��(}tj|�	�dtj
d�|_Wd�n1sd0Yt|jt��(}tj|�	�dtj
d�|_Wd�n1s�0Yd|_dS)z�Unmap and remap the memory to free it up after known expensive
        operations. Return True if self._data and self._index were reloaded.
        Fr)�accessNT)rpZ_pagedin�
MAXPAGEDIN�closerqrro�PACKOPENMODE�mmap�filenoZACCESS_READrn)rZindexfpZdatafprrr rrPs

�&6zbasepack.freememorycCs
t��dSrrW)rr[rrr rYgszbasepack.getmissingNcCs
t��dSrrW)rr^r_rrr r]jszbasepack.markledgercCs
t��dSrrW)rr^rrr �cleanupmszbasepack.cleanupcCs
t��dSrrWr$rrr r*pszbasepack.__iter__cCs
t��dSrrWr$rrr �iterentriessszbasepack.iterentries)N)r+r,r-r�rer!r	Z
propertycacher�r�rrrYr]r�r*r�rrrr rj s



rjc@s`eZdZddd�Zdd�Zdd�Zdd	�Zd
d�Zdd
d�Zdd�Z	dd�Z
dd�Zdd�ZdS)�mutablebasepackrcCs�|�|�d|_t�|�}d|_||_i|_t�||�|j	|j
dd�\|_|_|j	|j
dd�\|_|_t�|jd�|_t�|jd�|_t��|_d|_|�|�|j��|�|�|j��t�d|j�}|�|�dS)NsGZi$s-tmp)�suffixzwb+Frk)ri�_compressor�vfsmodr
Z
createmode�opener�entriesr
ZmkstickygroupdirZmkstemprA�packfprnr@�idxfp�idxpathrG�fdopenrZsha1�sha�_closedZ_fixfilemoderHrsr#rf�writeraw)rr1Zpackdirrhr�Z
versionbufrrr r!xs*

��
zmutablebasepack.__init__cCs|Srrr$rrr �	__enter__�szmutablebasepack.__enter__cCs|dur|��n|��dSr)r��abort)r�exc_type�	exc_value�	tracebackrrr �__exit__�s
zmutablebasepack.__exit__cCs|��dSr)�_cleantemppacksr$rrr r��szmutablebasepack.abortcCs|j�|�|j�|�dSr)r��writer��update)r�datarrr r��szmutablebasepack.writerawNcCs|jr
dSz�t|j���}|j��|��t|j�dkrN|�	�d|_WdS|j
�|j||j
�z|j
�|j||j�WnRty�}z:z|j
�||j
�Wnty�Yn0|�WYd}~n
d}~00Wnty�|�	��Yn0d|_|j
�|�}|�r|�|�|S)NrT)r�rr��digestr�r��
writeindexrr�r�r��renamernrAr�r@r6�unlinkrHZ
addcreated)rr^r�r=�resultrrr r��s6

zmutablebasepack.closecCsPz|j�|j�Wnty$Yn0z|j�|j�WntyJYn0dSr)r�r�rnr6r�r$rrr r��szmutablebasepack._cleantemppackscCs2t|j�tk}|r tt|j�}ntt|j�}tg|j}i}d}t	|j�D]N}||j
}|||<|d7}t�|j
|d|j��d}||tkrJ|||<qJd}	d}
|D](}|tkr�|n|
}|}
|	t�d|�7}	q�t�dt|j��}|�|dt|	��}
|�|�|j�|	�|j�|�|j�|
�|j��dS)Nrrr)r}r�r)rr��SMALLFANOUTCUTOFFrwrxrfrz�EMPTYFANOUTr�rPr�rsrt�fanoutstruct�fanoutprefixr#�createindex�_writeheaderr�r�r�)rZlargefanoutryr�Z	locationsrTZnode�locationZ	fanoutkeyZrawfanouttableZlast�offsetZrawentrieslengthZrawindexrrr r��s>
��

zmutablebasepack.writeindexcCs
t��dSrrW)rZ
nodelocationsrrr r�szmutablebasepack.createindexcCs.d}|jtkrd}|j�t�d|j|��dS)Nrrmrl)r�rxr�r�rsr#rf)rrwr{rrr r�s
zmutablebasepack._writeheader)r)N)
r+r,r-r!r�r�r�r�r�r�r�r�r�rrrr r�ws
"
%
+r�c@seZdZdZdd�ZdS)rw)r�r�r�rr�cCsj||_|tkrd|_n|tkr&d|_ntd|��d|d|_|jd|_t|j|_|jd7_dS)Nrks!Hsinvalid fanout prefix size: %srr�r|)	r�rzr�rx�
ValueErrorr�rr~r�)rZ
prefixsizerhrrr r!szindexparams.__init__N)r+r,r-�	__slots__r!rrrr rwsrw)-Z
__future__rrBr0r�rGrsrbZmercurial.i18nrZmercurial.pycompatrrZmercurial.noderZ	mercurialrrr	r
r�Zmercurial.utilsr�r
Z	importmodrrurvr~r�rzrxr�rcZisposixZispy3r��objectrr.rdrjr�rwrrrr �<module>s@
	.W

Youez - 2016 - github.com/yon3zu
LinuXploit