GIF89a; EcchiShell v1.0
//usr/lib64/lib64/python2.7/

Mass Deface Return the names of subfolders in a given folder, recursively.iit,i( R RRR2R3R+t isnumericRR,tislinkR<R-( RR/R0R4R5R6R7R8R9t subsubfolders((s/usr/lib64/python2.7/mhlib.pyR<·s,         cCs t||ƒS(s0Return a new Folder object for the named folder.(R(RR/((s/usr/lib64/python2.7/mhlib.pyt openfolderÓscCset|jdƒ}|r6t|ƒr6t|dƒ}nt}tjtjj|j ƒ|ƒ|ƒdS(s@Create a new folder (or raise os.error if it cannot be created).sFolder-ProtectiN( RRR?tinttFOLDER_PROTECTR tmkdirRRR!(RR/tprotecttmode((s/usr/lib64/python2.7/mhlib.pyt makefolder×s cCs”tjj|jƒ|ƒ}xetj|ƒD]T}tjj||ƒ}ytj|ƒWq+tjk r~|jd|ƒq+Xq+Wtj|ƒdS(s‡Delete a folder. This removes files in the folder but not subdirectories. Raise os.error if deleting the folder itself fails.s%s not deleted, continuing...N(R RRR!R+tunlinkRtrmdir(RR/R0R7R8((s/usr/lib64/python2.7/mhlib.pyt deletefolderàs N(RRt__doc__R RRRRR!R$R*R1R:R=R<RBRHRK(((s/usr/lib64/python2.7/mhlib.pyR_s           s ^[1-9][0-9]*$cCstj|ƒdk S(N(t numericprogtmatchR (tstr((s/usr/lib64/python2.7/mhlib.pyR?ïscBsòeZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zd „Zd„Zd„Zd„Zd„Zdd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(s'Class representing a particular folder.cCs>||_||_tjj|jƒƒs:td|‚ndS(s Constructor.s no folder %sN(tmhR/R RRt getfullnameR(RRPR/((s/usr/lib64/python2.7/mhlib.pyRõs  cCsd|j|jfS(sString representation.sFolder(%r, %r)(RPR/(R((s/usr/lib64/python2.7/mhlib.pyRüscGs|jj|ŒdS(sError message handler.N(RPR(RR((s/usr/lib64/python2.7/mhlib.pyRscCstjj|jj|jƒS(s'Return the full pathname of the folder.(R RRRPR/(R((s/usr/lib64/python2.7/mhlib.pyRQscCstjj|jƒtƒS(s8Return the full pathname of the folder's sequences file.(R RRRQt MH_SEQUENCES(R((s/usr/lib64/python2.7/mhlib.pytgetsequencesfilenamescCstjj|jƒt|ƒƒS(s4Return the full pathname of a message in the folder.(R RRRQRO(Rtn((s/usr/lib64/python2.7/mhlib.pytgetmessagefilename scCs|jj|jƒS(s!Return list of direct subfolders.(RPR:R/(R((s/usr/lib64/python2.7/mhlib.pyR:scCs|jj|jƒS(sReturn list of all subfolders.(RPR<R/(R((s/usr/lib64/python2.7/mhlib.pyR<scCsg}tj}|j}x6tj|jƒƒD]}||ƒr.||ƒq.q.Wtt|ƒ}|jƒ|r€|d|_ n d|_ |S(s€Return the list of messages currently present in the folder. As a side effect, set self.last to the last message (or 0).iÿÿÿÿi( RMRNR,R R+RQtmapRCR-tlast(RtmessagesRNR,R/((s/usr/lib64/python2.7/mhlib.pyt listmessagess     cCsÔi}|jƒ}yt|dƒ}Wntk r9|SXx“|jƒ}|sSPn|jdƒ}t|ƒdkr”|jd||jƒfƒn|djƒ}t|djƒdƒj ƒ}|||iismultiple errors:N( RUROR RIRtrenameR,tremovefromallsequencesR`(RtlistterrorstdeletedRTRt commapathR((s/usr/lib64/python2.7/mhlib.pytremovemessagesÑs( ic Cs„g}i}xö|D]î}|jƒd}|j|ƒ}|j|ƒ} ytj|| ƒWnŒtjk réy!tj|| ƒtj|ƒWqêttjfk rå} |j | ƒytj| ƒWqtjk rÞqXqqêXnX|j |ƒ|||RxcCs5g|_||_||_|r1|j|ƒndS(N(tpairstseptrngt fromstring(RtdataRãRä((s/usr/lib64/python2.7/mhlib.pyRs    cCs g|_dS(N(Râ(R((s/usr/lib64/python2.7/mhlib.pytreset scCst|j|jƒS(N(tcmpRâ(Rtother((s/usr/lib64/python2.7/mhlib.pyt__cmp__#scCs t|jƒS(N(thashRâ(R((s/usr/lib64/python2.7/mhlib.pyt__hash__&scCsd|jƒ|j|jfS(NsIntSet(%r, %r, %r)(RkRãRä(R((s/usr/lib64/python2.7/mhlib.pyR)scCs¤|jjƒd}xŠ|t|jƒkrŸ|j|d\}}|j|\}}||dkr’|t||ƒfg|j|d|d+q|d}qWdS(Ni(RâR-R`Rp(RR~talotahitblotbhi((s/usr/lib64/python2.7/mhlib.pyt normalize,s -cCs|d}xo|jD]d\}}||kr7t|ƒ}nt|ƒ|jt|ƒ}|rn||j|}q|}qW|S(NR;(RâR»RäRã(RRmtlothitt((s/usr/lib64/python2.7/mhlib.pyRk7s  cCsAg}x4|jD])\}}t||dƒ}||}qW|S(Ni(Râtrange(RtlRòRótm((s/usr/lib64/python2.7/mhlib.pyRc@s cCs"x|D]}|j|ƒqWdS(N(R,(RR‘R~((s/usr/lib64/python2.7/mhlib.pyRjGs cCstƒ}|j|_|S(N(RbRâ(RR©((s/usr/lib64/python2.7/mhlib.pytcloneKs  cCs|jddS(Ni(Râ(R((s/usr/lib64/python2.7/mhlib.pytminPscCs|jddS(Niÿÿÿÿ(Râ(R((s/usr/lib64/python2.7/mhlib.pyRpSscCs>x7|jD],\}}||ko-|knr tSq WtS(N(RâtTruetFalse(RtxRòRó((s/usr/lib64/python2.7/mhlib.pytcontainsVscCsqxøtt|jƒƒD]á}|j|\}}||krç|d|kra||f|j|/dev/nulls<-- picksf.listmessages()(sfirstslastscurR‰sprevsnextsfirst:3slast:3scur:3scur:-3sprev:3snext:3s1:3s1:-3s100:3s100:-3s10000:3s10000:-3sall(R tsystemRRPRBR)RhRbRcRntreversedR$RtpopenR¯RVRCR_( Rt testfoldersRôRsR"RlRtstuffR‘((s/usr/lib64/python2.7/mhlib.pyttestÂsP                      t__main__(RLtwarningsRR RRRRDR RRR¹RÔR—Rt__all__t ExceptionRRRRMR?RRR×RbRRuRR(((s/usr/lib64/python2.7/mhlib.pyt6s<         ÿ¦M‰  " *