ó ŸçƒQc@s ddlmZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl Z ddl Z ddlZdefd„ƒYZd„Zdejfd„ƒYZdejfd „ƒYZd „ZdS( iÿÿÿÿ(t_NthttprangereadercBs8eZd„Zd„Zdd„Zd„Zd„ZRS(cCs(||_d|_||_||_dS(Ni(turltpostopenertname(tselfRR((s</sys/lib/python2.7/site-packages/mercurial/statichttprepo.pyt__init__s   cCs ||_dS(N(R(RR((s</sys/lib/python2.7/site-packages/mercurial/statichttprepo.pytseekscsztj|jƒ}d}|r2|j|d}n|jsA|ra|jdd|j|fƒny@|jj|ƒ‰ˆjƒ}tˆd‡fd†ƒƒ}Wnntj k ræ}|j dkrÎt j pÑd}t||ƒ‚n,tjk r}td|jdƒ‚nX|dkrN|r>||j|j|!}qa||j}n|ra|| }n|jt|ƒ7_|S( NtitRanges bytes=%d-%stgetcodecstˆddƒS(NtcodeiÎ(tgetattr((tf(s</sys/lib/python2.7/site-packages/mercurial/statichttprepo.pyt'si”iÈ(turllib2tRequestRRt add_headerRtopentreadR t HTTPErrorR terrnotENOENTtNonetIOErrortURLErrortreasontlen(RtbytestreqtendtdataR tinsttnum((Rs</sys/lib/python2.7/site-packages/mercurial/statichttprepo.pyRs.  "  cCst|jƒjdƒƒS(Ni(titerRt splitlines(R((s</sys/lib/python2.7/site-packages/mercurial/statichttprepo.pyt__iter__9scCsdS(N((R((s</sys/lib/python2.7/site-packages/mercurial/statichttprepo.pytclose;sN(t__name__t __module__RRRRR%R&(((s</sys/lib/python2.7/site-packages/mercurial/statichttprepo.pyRs    ! csHtj||ƒ‰ˆjtjƒƒdtjf‡fd†ƒY}|S(Nt statichttpvfscs/eZd„Zdd‡fd†Zd„ZRS(cSs ||_dS(N(tbase(RR*((s</sys/lib/python2.7/site-packages/mercurial/statichttprepo.pyRDstrcsI|dkrtdƒ‚ndj|jtj|ƒfƒ}t|ˆƒS(NR+trbsPermission deniedt/(R+srb(RtjoinR*turllibtquoteR(Rtpathtmodet atomictempR(t urlopener(s</sys/lib/python2.7/site-packages/mercurial/statichttprepo.pyt__call__Gs !cSs'|rtjj|j|ƒS|jSdS(N(tosR1R.R*(RR1((s</sys/lib/python2.7/site-packages/mercurial/statichttprepo.pyR.MsN(R'R(RRR5R.((R4(s</sys/lib/python2.7/site-packages/mercurial/statichttprepo.pyR)Cs (RRt add_handlert byterangetHTTPRangeHandlertscmutilt abstractvfs(tuitauthinfoR)((R4s</sys/lib/python2.7/site-packages/mercurial/statichttprepo.pyt build_opener>ststatichttppeercBseZd„Zd„ZRS(cCsdS(N(R(R((s</sys/lib/python2.7/site-packages/mercurial/statichttprepo.pytlocalVscCstS(N(tFalse(R((s</sys/lib/python2.7/site-packages/mercurial/statichttprepo.pytcanpushXs(R'R(R@RB(((s</sys/lib/python2.7/site-packages/mercurial/statichttprepo.pyR?Us tstatichttprepositorycBsAeZd„Zd„Zd„Zd„Zd„Zed„ZRS(c Cs ||_||_||_tj|jdƒdƒ}|jƒ\|_}t||ƒ}||jƒ|_ |j |_ g|_ yt j |j |jƒ}Wn«tk rK}|jtjkrÈ‚ntƒ}y*|j dƒ}|jdƒ|jƒWqLtk rG}|jtjkr%‚ntdƒ|} tj| ƒ‚qLXnXtj||j|ƒ|_|jj|_|jj |_|j|_|jj|_i|_||_t j |jƒ|_ t!j!|jƒ|_!d|_#d|_$i|_%d|_&d|_'dS(NR-s/.hgs 00changelog.iis+'%s' does not appear to be an hg repository((t_urlR<troottutilRtrstripR=R1R>Rtvfst_phasedefaultsR:t readrequirest supportedRRRtsetRR&Rterrort RepoErrortstoretspathtsopenertsvfsR.tsjoint _filecachet requirementstmanifestt changelogRt_tagst nodetagscachet _branchcachest encodepatst decodepats( RR<R1tuR=RRUR!tfptmsg((s</sys/lib/python2.7/site-packages/mercurial/statichttprepo.pyR\sL              cCs|jdgƒS(Ntpushkey(t difference(Rtcaps((s</sys/lib/python2.7/site-packages/mercurial/statichttprepo.pyt_restrictcapabilitiesscCs|jS(N(RD(R((s</sys/lib/python2.7/site-packages/mercurial/statichttprepo.pyRscCstS(N(RA(R((s</sys/lib/python2.7/site-packages/mercurial/statichttprepo.pyR@“scCs t|ƒS(N(R?(R((s</sys/lib/python2.7/site-packages/mercurial/statichttprepo.pytpeer–scCstjtdƒƒ‚dS(Ns"cannot lock static-http repository(RFtAbortR(Rtwait((s</sys/lib/python2.7/site-packages/mercurial/statichttprepo.pytlock™s( R'R(RRcRR@RdtTrueRg(((s</sys/lib/python2.7/site-packages/mercurial/statichttprepo.pyRC[s  1    cCs/|rtjtdƒƒ‚nt||dƒS(Ns(cannot create new static-http repositoryi(RFReRRC(R<R1tcreate((s</sys/lib/python2.7/site-packages/mercurial/statichttprepo.pytinstanceœs(ti18nRRWR8RRMt localrepoRVRFR:ROR/RRR6tobjectRR>t localpeerR?tlocalrepositoryRCRj(((s</sys/lib/python2.7/site-packages/mercurial/statichttprepo.pyt s0<0/ A