HEX
Server: Apache
System: Linux p102.lithium.hosting 4.18.0-553.141.1.el8_10.x86_64 #1 SMP Fri Jul 10 17:48:02 UTC 2026 x86_64
User: bvzmoamr (9955)
PHP: 8.1.34
Disabled: syslog
Upload Files
File: //proc/self/root/usr/lib64/python2.7/site-packages/hgext/infinitepush/fileindexapi.pyc
�
1�3\c@@sodZddlmZddlZddlmZddlmZddlm	Z	de	j	fd	��YZ
dS(
s�
    [infinitepush]
    # Server-side option. Used only if indextype=disk.
    # Filesystem path to the index store
    indexpath = PATH
i(tabsolute_importN(tutil(t
stringutili(tindexapitfileindexapicB@s�eZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�ZRS(cC@s�tt|�j�||_|jjdd�}|sOtjjdd�}ntjj|d�|_	tjj|d�|_
tjj|d�|_d|_
dS(Ntinfinitepusht	indexpathtscratchbranchestindextnodemaptbookmarkmaptnodemetadatamap(tsuperRt__init__t_repotuitconfigtostpathtjoint_nodemapt_bookmarkmapt_metadatamaptNonet_lock(tselftrepotroot((sE/usr/lib64/python2.7/site-packages/hgext/infinitepush/fileindexapi.pyR
s	cC@s|jj�|_|S(N(RtwlockR(R((sE/usr/lib64/python2.7/site-packages/hgext/infinitepush/fileindexapi.pyt	__enter__%scC@s&|jr"|jj|||�ndS(N(Rt__exit__(Rtexc_typetexc_valtexc_tb((sE/usr/lib64/python2.7/site-packages/hgext/infinitepush/fileindexapi.pyR)s	cC@sCx<|D]4}tjj|j|j��}|j||�qWdS(N(RRRRthext_write(Rtbundleidtnodesctxtnodetnodepath((sE/usr/lib64/python2.7/site-packages/hgext/infinitepush/fileindexapi.pyt	addbundle-s
cC@s,tjj|j|�}|j||�dS(N(RRRRR#(RtbookmarkR&tbookmarkpath((sE/usr/lib64/python2.7/site-packages/hgext/infinitepush/fileindexapi.pytaddbookmark2scC@s1x*|j�D]\}}|j||�q
WdS(N(titemsR+(Rt	bookmarksR)R&((sE/usr/lib64/python2.7/site-packages/hgext/infinitepush/fileindexapi.pytaddmanybookmarks6scC@sZxS|D]K}xB|j|�D]1\}}tjj|j|�}|j|�qWqWdS(N(t_listbookmarksRRRRt_delete(RtpatternstpatternR)t_R*((sE/usr/lib64/python2.7/site-packages/hgext/infinitepush/fileindexapi.pytdeletebookmarks:s
cC@s%tjj|j|�}|j|�S(N(RRRRt_read(RR&R'((sE/usr/lib64/python2.7/site-packages/hgext/infinitepush/fileindexapi.pyt	getbundle@scC@s%tjj|j|�}|j|�S(N(RRRRR5(RR)R*((sE/usr/lib64/python2.7/site-packages/hgext/infinitepush/fileindexapi.pytgetnodeDscC@st|j|��S(N(tdictR/(Rtquery((sE/usr/lib64/python2.7/site-packages/hgext/infinitepush/fileindexapi.pytgetbookmarksHscC@s2|jj}|jtjj|j|�|�dS(N(RtvfstwriteRRRR(RR&tjsonmetadataR;((sE/usr/lib64/python2.7/site-packages/hgext/infinitepush/fileindexapi.pytsaveoptionaljsonmetadataKscc@s�|jd�r$d|d d}ntj|�\}}}t|j�d}x�|jjj|j�D]}\}}}xk|D]c}	tj	j
||	�|}
tj|
�}
||
�s�q~n|
|j
tj	j
||	��fVq~WqhWdS(Nt*sre:^i����s.*i(tendswithRt
stringmatchertlenRRR;twalkRRRRtpconvertR5(RR2tkindtpattmatchert	prefixlentdirpathR3tbookstbookR)((sE/usr/lib64/python2.7/site-packages/hgext/infinitepush/fileindexapi.pyR/Os(
cC@sN|jj}|j|�}|j|�s:|j|�n|j||�dS(N(RR;tdirnametexiststmakedirsR<(RRtvalueR;RL((sE/usr/lib64/python2.7/site-packages/hgext/infinitepush/fileindexapi.pyR#\s
cC@s,|jj}|j|�sdS|j|�S(N(RR;RMRtread(RRR;((sE/usr/lib64/python2.7/site-packages/hgext/infinitepush/fileindexapi.pyR5dscC@s,|jj}|j|�sdS|j|�S(N(RR;RMtunlink(RRR;((sE/usr/lib64/python2.7/site-packages/hgext/infinitepush/fileindexapi.pyR0js(t__name__t
__module__R
RRR(R+R.R4R6R7R:R>R/R#R5R0(((sE/usr/lib64/python2.7/site-packages/hgext/infinitepush/fileindexapi.pyRs												
		(t__doc__t
__future__RRt	mercurialRtmercurial.utilsRtRR(((sE/usr/lib64/python2.7/site-packages/hgext/infinitepush/fileindexapi.pyt<module>s