Uname: Linux premium294.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
User: 768 (artoqlkw)
Group: 773 (artoqlkw)
Disabled functions: NONE
Safe mode: On[ PHPinfo ]
//lib64/python2.7      ( Reset | Go to )
File Name: mhlib.pyc
�
zfc@s|dZddlmZeddd�[dZdZdZd    Zdd
lZdd
lZdd
l    Z    dd
l
Z
dd
l Z dd
l Z dd l m Z d d ddgZd efd��YZd fd��YZe    jd�Zd�Zdfd��YZde
jfd��YZdefd��YZdfd��YZdd�Zdd�Zd�Zedkrxe�nd
S(s�    MH interface -- purely object-oriented (well, almost)

Executive summary:

import mhlib

mh = mhlib.MH()         # use default mailbox directory and profile
mh = mhlib.MH(mailbox)  # override mailbox location (default from profile)
mh = mhlib.MH(mailbox, profile) # override mailbox and profile

mh.error(format, ...)   # print error message -- can be overridden
s = mh.getprofile(key)  # profile entry (None if not set)
path = mh.getpath()     # mailbox pathname
name = mh.getcontext()  # name of current folder
mh.setcontext(name)     # set name of current folder

list = mh.listfolders() # names of top-level folders
list = mh.listallfolders() # names of all folders, including subfolders
list = mh.listsubfolders(name) # direct subfolders of given folder
list = mh.listallsubfolders(name) # all subfolders of given folder

mh.makefolder(name)     # create new folder
mh.deletefolder(name)   # delete folder -- must have no subfolders

f = mh.openfolder(name) # new open folder object

f.error(format, ...)    # same as mh.error(format, ...)
path = f.getfullname()  # folder's full pathname
path = f.getsequencesfilename() # full pathname of folder's sequences file
path = f.getmessagefilename(n)  # full pathname of message n in folder

list = f.listmessages() # list of messages in folder (as numbers)
n = f.getcurrent()      # get current message
f.setcurrent(n)         # set current message
list = f.parsesequence(seq)     # parse msgs syntax into list of messages
n = f.getlast()         # get last message (0 if no messagse)
f.setlast(n)            # set last message (internal use only)

dict = f.getsequences() # dictionary of sequences in folder {name: list}
f.putsequences(dict)    # write sequences back to folder

f.createmessage(n, fp)  # add message from file f as number n
f.removemessages(list)  # remove messages in list from folder
f.refilemessages(list, tofolder) # move messages in list to other folder
f.movemessage(n, tofolder, ton)  # move one message to a given destination
f.copymessage(n, tofolder, ton)  # copy one message to a given destination

m = f.openmessage(n)    # new open message object (costs a file descriptor)
m is a derived class of mimetools.Message(rfc822.Message), with:
s = m.getheadertext()   # text of message's headers
s = m.getheadertext(pred) # text of message's headers, filtered by pred
s = m.getbodytext()     # text of message's body, decoded
s = m.getbodytext(0)    # text of message's body, not decoded
i����(twarnpy3ksOthe mhlib module has been removed in Python 3.0; use the mailbox module insteadt
stacklevelis ~/.mh_profiles~/Mails .mh_sequencesi�N(tbisecttMHtErrortFoldertMessagecBseZRS((t__name__t
__module__(((s/usr/lib64/python2.7/mhlib.pyR[scBs�eZdZddd�Zd�Zd�Zd�Zd�Zd�Z    d�Z
d�Z d    �Z d
�Z d �Zd �Zd �Zd�ZRS(s<Class representing a particular collection of folders.
    Optional constructor arguments are the pathname for the directory
    containing the collection, and the MH profile to use.
    If either is omitted or empty a default is used; the default
    directory is taken from the MH profile if it is specified there.cCs�|dkrt}ntjj|�|_|dkrH|jd�}n|sWt}ntjj|� r�|ddkr�tjj    d|�}ntjj|�}tjj
|�s�t d�n||_dS(s Constructor.tPathit~sMH() path not foundN( tNonet
MH_PROFILEtostpatht
expandusertprofilet
getprofiletPATHtisabstjointisdirR(tselfRR((s/usr/lib64/python2.7/mhlib.pyt__init__fs          # cCsd|j|jfS(sString representation.s
MH(%r, %r)(RR(R((s/usr/lib64/python2.7/mhlib.pyt__repr__rscGstjjd||�dS(sARoutine to print an error.  May be overridden by a derived class.s MH error: %s
N(tsyststderrtwrite(Rtmsgtargs((s/usr/lib64/python2.7/mhlib.pyterrorvscCst|j|�S(s*Return a profile entry, None if not found.(tpicklineR(Rtkey((s/usr/lib64/python2.7/mhlib.pyRzscCs|jS(s9Return the path (the name of the collection's directory).(R(R((s/usr/lib64/python2.7/mhlib.pytgetpath~scCs7ttjj|j�d�d�}|s3d}n|S(s&Return the name of the current folder.tcontextsCurrent-Foldertinbox(RR RRR!(RR"((s/usr/lib64/python2.7/mhlib.pyt
getcontext�s
        cCsItjj|j�d�}t|d�}|jd|�|j�dS(s#Set the name of the current folder.R"twsCurrent-Folder: %s
N(R RRR!topenRtclose(RR"tfntf((s/usr/lib64/python2.7/mhlib.pyt
setcontext�scCsqg}|j�}xNtj|�D]=}tjj||�}tjj|�r"|j|�q"q"W|j�|S(s*Return the names of the top-level folders.(R!R tlistdirRRRtappendtsort(RtfoldersRtnametfullname((s/usr/lib64/python2.7/mhlib.pyt listfolders�s 
c    Cs�tjj|j|�}tj|�j}|dkr:gSg}tj|�}xt|D]l}tjj||�}tjj|�rVtjj||�}|j|�|d}|dkr�Pq�qVqVW|j�|S(scReturn the names of the subfolders in a given folder
        (prefixed with the given folder name).ii(    R RRtstattst_nlinkR+RR,R-(    RR/R0tnlinkst
subfolderstsubnamestsubnamet fullsubnamet name_subname((s/usr/lib64/python2.7/mhlib.pytlistsubfolders�s    
  
cCs |jd�S(s<Return the names of all folders and subfolders, recursively.t(tlistallsubfolders(R((s/usr/lib64/python2.7/mhlib.pytlistallfolders�sc
Cs$tjj|j|�}tj|�j}|dkr:gSg}tj|�}x�|D]�}|ddksVt|�r~qVntjj||�}tjj|�rVtjj||�}|j|�tjj    |�s�|j
|�}    ||    }n|d}|dkrPqqVqVW|j �|S(s>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<scCs�g}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    �}|||<q=W|S(s+Return the set of sequences for the folder.trt:isbad sequence in %s: %siit (
RSR&tIOErrortreadlinetsplittlenRtstriptIntSetttolist(Rt    sequencesR0R)tlinetfieldsR tvalue((s/usr/lib64/python2.7/mhlib.pyt getsequences)s$       cCs�|j�}d}xk|j�D]]\}}tdd�}|j|�|s_t|d�}n|jd||j�f�qW|s�ytj    |�Wq�tj
k
r�q�Xn
|j �dS(s.Write the set of sequences back to the folder.R;R\R%s%s: %s
N( RSR t    iteritemsRbtfromlistR&RttostringR RIRR'(RRdR0R)R tseqts((s/usr/lib64/python2.7/mhlib.pyt putsequences=s  !cCsE|j�}yt|d�SWn ttfk
r@td�nXdS(s<Return the current message.  Raise Error when there is none.tcursno cur messageN(Rhtmaxt
ValueErrortKeyErrorR(Rtseqs((s/usr/lib64/python2.7/mhlib.pyt
getcurrentNs
 cCs#t|j�dt|�d�dS(sSet the current message.RoiN(t
updatelineRSRO(RRT((s/usr/lib64/python2.7/mhlib.pyt
setcurrentVscCsL|j�}|s%td|j�n|dkr5|S|jd�}|dkr || d||d}}}|d dkr�|d |d}}nt|�s�td|�nyt|�}Wn#ttfk
r�t|�}nXy|j    ||�}Wn�tk
r�}    |j
�}
||
krV|    s=d|}    nt|    t j �d    �n|
|} | svtd
|�n|d kr�| | S| | Sq X|s�|dkr�d }q�n|d kr�t ||�}|td||�|!St ||d�}||||!Sn|jd �}|dkr�|j    || |�} |j    ||d|�} t || d�}t || �}|||!}|s�td|�n|Sy|j    ||�}WnOtk
r}    |j
�}
||
kr|    s�d|}    nt|    �n|
|SX||krAt|�r1td|�qHtd|�n|gSdS(s�Parse an MH sequence specification into a message list.
        Attempt to mimic mh-sequence(5) as close as possible.
        Also attempt to mimic observed behavior regarding which
        conditions cause which error messages.sno messages in %stallR[iR;is-+sbad message list %sissequence %s emptyt-tprevRWsmessage %d doesn't exists no %s messageN(RyRW(RYRR/tfindR?RCRqt OverflowErrorR`t _parseindexRhRtexc_infoRRp(RRlRwtitheadtdirttailtcounttanchorRRstmsgstbegintendtjRZRT((s/usr/lib64/python2.7/mhlib.pyt parsesequenceZs|            
                     cCsLt|�r;yt|�SWq;ttfk
r7tjSXn|d krQ|j�S|dkre|dS|dkry|dS|dkr�|j�}t||�}y ||SWq�tk
r�t    d�q�Xn|d    kr?|j�}t||d
�}|dkrt    d �ny||d
SWq?tk
r;t    d �q?Xnt    d �d S(s7Internal: parse a message number (or cur, first, etc.).Rot.tfirstiRWi����tnextsno next messageRyisno prev messageN(RoR�( R?RCR{RqRtmaxintRtRt
IndexErrorRR (RRlRwRTR~((s/usr/lib64/python2.7/mhlib.pyR|�s8   
           cCs t||�S(s+Open a message -- returns a Message object.(R(RRT((s/usr/lib64/python2.7/mhlib.pyt openmessage�scCsg}g}x�|D]�}|j|�}|jdt|��}ytj|�Wntjk
rhnXytj||�Wn#tjk
r�}|j|�qX|j|�qW|r�|j|�n|r
t|�dkr�tj|d�q
tjd|f�ndS(s2Remove one or more messages -- may raise os.error.R>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
|�|||<qW|r@|r*|j ||j ��n|j |j��n|r�t|�dkrktj|d�q�tjd|f�ndS(s_Refile one or more messages -- may raise os.error.
        'tofolder' is an open folder object.iismultiple errors:N(tgetlastRUR R�Rtshutiltcopy2RIR]R,tsetlastt_copysequencestitemsR�tkeysR`( RR�ttofoldert keepsequencesR�trefiledRTttonRttopathR((s/usr/lib64/python2.7/mhlib.pytrefilemessages�s:    c Cs�|j�}|j�}d}x�|j�D]�\}}y||}d}    Wntk
rjg}d}    nXx6|D].\}
} |
|krr|j| �d}qrqrW|    r+|r+|||<q+q+W|r�|j|�ndS(s.Helper for refilemessages() to copy sequences.iiN(RhR�RrR,Rn( Rt
fromfoldert refileditemst fromsequencest tosequencestchangedR/RlttoseqtnewtfromnR�((s/usr/lib64/python2.7/mhlib.pyR� s$  

 
    c    Cs#|j|�}t|�}|j�~|j|�}|jd|�}ytj||�Wntjk
rtnXytj||�Wn�tjk
rd}z'|jd�tj    ||�d}Wd|s�ytj
|�Wq�tjk
r�q�XnXtj
|�nX|j |g�dS(saMove one message over a specific destination message,
        which may or may not already exist.s,%diiN( RUR&R'R R�RR�R R�R�RIR�(    RRTR�R�RR)R�t backuptopathtok((s/usr/lib64/python2.7/mhlib.pyt movemessage"s2 
 
c    Cs�|j|�}t|�}|j�~|j|�}|jd|�}ytj||�Wntjk
rtnXd}z'|jd�tj    ||�d}Wd|s�ytj
|�Wq�tjk
r�q�XnXdS(saCopy one message over a specific destination message,
        which may or may not already exist.s,%diiN( RUR&R'R R�RR�R R�R�RI(    RRTR�R�RR)R�R�R�((s/usr/lib64/python2.7/mhlib.pyt copymessageBs( 
 
c    Cs�|j|�}|jd|�}ytj||�Wntjk
rLnXd}d}zPt|d�}x*|j|�}|s�Pn|j|�qnW|j�d}Wd|s�ytj|�Wq�tjk
r�q�XnXdS(    s3Create a message, with text from the open file txt.s,%diiiR%iNi@(    RUR R�RR&treadRR'RI(    RRTttxtRt
backuppathR�tBUFSIZER)tbuf((s/usr/lib64/python2.7/mhlib.pyt createmessage\s,

cCs�t|d�r'|j|kr'|`n|j�}d}xo|j�D]a\}}|dkrdqFnx@|D]8}||krk|j|�d}|s�||=q�qkqkWqFW|r�|j|�ndS(s`Remove one or more messages from all sequences (including last)
        -- but not from 'cur'!!!RWiRoiN(thasattrRWRhR�tremoveRn(RR�RdR�R/RlRT((s/usr/lib64/python2.7/mhlib.pyR�vs         cCs#t|d�s|j�n|jS(sReturn the last message number.RW(R�RYRW(R((s/usr/lib64/python2.7/mhlib.pyR��s cCs4|dkr't|d�r0|`q0n    ||_dS(sSet the last message number.RWN(R R�RW(RRW((s/usr/lib64/python2.7/mhlib.pyR��s  (RRRLRRRRQRSRUR:R<RYRhRnRtRvR�R|R�R�R�R�R�R�R�R�R�R�(((s/usr/lib64/python2.7/mhlib.pyR�s4                                                        T             #                         cBsGeZdd�Zd�Zdd�Zdd�Zd�Zd�ZRS(cCsV||_||_|dkr?|j|�}t|d�}ntjj||�dS(s Constructor.RZN(tfoldertnumberR RUR&t    mimetoolsRR(RR)RTtfpR((s/usr/lib64/python2.7/mhlib.pyR�s          cCsdt|j�|jfS(sString representation.sMessage(%s, %s)(treprR�R�(R((s/usr/lib64/python2.7/mhlib.pyR�scCs�|dkrdj|j�Sg}d}xn|jD]c}|dj�s|jd�}|dkr||| j��}qn|r2|j|�q2q2Wdj|�S(s�Return the message's header text as a string.  If an
        argument is specified, it is used as a filter predicate to
        decide which headers to return (its argument is the header
        name converted to lower case).R;iR[N(R RtheaderstisspaceRztlowerR,(RtpredR�thitReR~((s/usr/lib64/python2.7/mhlib.pyt getheadertext�s  icCs�|jj|j�|j�}| s2|dkr?|jj�Syddlm}Wn!tk
rvddlm}nX|�}tj    |j||�|j
�S(s�Return the message's body text as string.  This undoes a
        Content-Transfer-Encoding, but does not interpret other MIME
        features (e.g. multipart messages).  To suppress decoding,
        pass 0 as an argument.R;t7bitt8bittbinaryi����(tStringIO(R;R�R�R�( R�tseekt startofbodyt getencodingR�t    cStringIOR�t ImportErrorR�tdecodetgetvalue(RR�tencodingR�toutput((s/usr/lib64/python2.7/mhlib.pyt getbodytext�s       cCs�|j�dkrtd�n|jd�}|s?td�n|jj|j�tj|j�}|j|�g}xO|j    �r�d|j
dt |�f}t |j ||�}|j|�qzW|j�|S(s�Only for multipart messages: return the message's body as a
        list of SubMessage objects.  Each submessage object behaves
        (almost) as a Message object.t    multipartsContent-Type is not multipart/*tboundarys"multipart/* without boundary params%s.%ri(t getmaintypeRtgetparamR�R�R�t    multifilet    MultiFiletpushR�R�R`t
SubMessageR�R,tpop(RtbdrytmftpartsRTtpart((s/usr/lib64/python2.7/mhlib.pyt getbodyparts�s   
cCs*|j�dkr|j�S|j�SdS(s3Return body, either a string or a list of messages.R�N(R�R�R�(R((s/usr/lib64/python2.7/mhlib.pytgetbody�s
N(    RRR RRR�R�R�R�(((s/usr/lib64/python2.7/mhlib.pyR�s                R�cBs8eZd�Zd�Zdd�Zd�Zd�ZRS(cCsktj||||�|j�dkr=tj|�|_ntj|�|_tj|dd�|_dS(s Constructor.R�R�iN(RRR�R�tbodyR�t bodyencoded(RR)RTR�((s/usr/lib64/python2.7/mhlib.pyR�s
cCs.|j|j|j}}}d|||fS(sString representation.sSubMessage(%s, %s, %s)(R�R�R�(RR)RTR�((s/usr/lib64/python2.7/mhlib.pyR�sicCs3|s |jSt|j�td�kr/|jSdS(NR;(R�ttypeR�(RR�((s/usr/lib64/python2.7/mhlib.pyR��scCs&t|j�tg�kr"|jSdS(N(R�R�(R((s/usr/lib64/python2.7/mhlib.pyR��scCs|jS(N(R�(R((s/usr/lib64/python2.7/mhlib.pyR��s(RRRRR�R�R�(((s/usr/lib64/python2.7/mhlib.pyR��s
    
         RbcBs�eZdZdddd�Zd�Zd�Zd�Zd�Zd�Z    d    �Z
d
�Z d �Z d �Z d �Zd�Zd�Zd�Zd�Zd�ZRS(s�Class implementing sets of integers.

    This is an efficient representation for sets consisting of several
    continuous ranges, e.g. 1-100,200-400,402-1000 is represented
    internally as a list of three pairs: [(1,100), (200,400),
    (402,1000)].  The internal representation is always kept normalized.

    The constructor has up to three arguments:
    - the string used to initialize the set (default ''),
    - the separator between ranges (default ',')
    - the separator between begin and end of a range (default '-')
    The separators must be strings (not regexprs) and should be different.

    The tostring() function yields a string that can be passed to another
    IntSet constructor; __repr__() is a valid IntSet constructor itself.
    R>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|<n|jj|||f�|dkr�|d|j|ddkr�|j|dd|j|dfg|j|d|d+ndS||krdSqWt|j�d}|dkrW|j|\}}|d|krW||f|j|<dSn|jj||f�dS(Nii(R�R`R�tinsertR,(RR�R~R�R�((s/usr/lib64/python2.7/mhlib.pyR,[s& +,  cCs4||krdS|jj||f�|j�dS(N(R�R,R�(Rtxlotxhi((s/usr/lib64/python2.7/mhlib.pytaddpairts cCsg}x�|j|j�D]�}g}x9|j|j�D]%}|j�}|jt|��q8Wt|�dkr�|j|d|df�qt|�dkr�|d|dkr�|j|d|df�qtd�qW|j||_|j    �dS(Niiisbad data passed to IntSet(
R_R�R�RaR,RCR`RqR�R�(RR�R�R�R�tsubpRm((s/usr/lib64/python2.7/mhlib.pyR�ys & N(RRRLR RR�R�R�RR�RkRcRjR�R�RpR�R,RR�(((s/usr/lib64/python2.7/mhlib.pyRbs"                                                             icCs�yt|d�}Wntk
r'dSXtj|�d}tj||oPtj�}x�|j�}|soPn|j|�rY|t    |�d}x6|j�}| s�|dj
� r�Pn||}q�W|j �SqYWdS(NRZR[ii( R&R]R tretescapetcompilet
IGNORECASER^RNR`R�Ra(tfileR tcasefoldR)tpattprogRettext((s/usr/lib64/python2.7/mhlib.pyR�s&   c Csay)t|d�}|j�}|j�Wntk
rBg}nXtj|�d}tj||oktj�}|dkr�d}nd||f}xst    t
|��D]C}    ||    }
|j |
�r�|dkr�||    =n
|||    <Pq�q�W|dk    r |j |�n|d} t| d�}x|D]}
|j |
�q,W|j�tj| |�dS(NRZs:(.*)
s%s: %s
R
R%(R&t    readlinesR'R]RRRRR R�R`RNR,RR R�( RR RgRR)tlinesR    R
tnewlineR~Rettempfile((s/usr/lib64/python2.7/mhlib.pyRu�s4  
     
 

 
 
c    Cs�tjd�t�ad�}|d�|d�ddddd    d
g}x|D]}|d |f�qRW|d �|d �tjd�a|d�|d�|d�tj�}tdd�j�|d<|GHtj    |�|d�x%t
|�D]}|d|f�q�W|d�tj �}tj|�a|d�x|d/D]t}y|d*|f�Wnt k
r�}d+G|GHnXtj d,|f�j�}tt|j��}|Gd-GHqMW|d.�dS(0Nsrm -rf $HOME/Mail/@testcSs|GHt|�GHdS(N(teval(Rm((s/usr/lib64/python2.7/mhlib.pytdo�ssmh.listfolders()smh.listallfolders()s@tests @test/test1s @test/test2s@test/test1/test11s@test/test1/test12s@test/test1/test11/test111smh.makefolder(%r)smh.listsubfolders('@test')smh.listallsubfolders('@test')sf.listsubfolders()sf.listallsubfolders()sf.getsequences()s
1-10 12-20R\tfoosmh.deletefolder(%r)smh.getcontext()sf.getcurrent()R�RWRoR�RyR�sfirst:3slast:3scur:3scur:-3sprev:3snext:3s1:3s1:-3s100:3s100:-3s10000:3s10000:-3Rwsf.parsesequence(%r)sError:spick %r 2>/dev/nulls<-- picksf.listmessages()(R�RWRoR�RyR�sfirst:3slast:3scur:3scur:-3sprev:3snext:3s1:3s1:-3s100:3s100:-3s10000:3s10000:-3Rw(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.pyt<module>6s<           �    ��M�  "    * 

All system for education purposes only. For more tools: Telegram @jackleet

Mr.X Private Shell

Logo
-
New File | New Folder
Command
SQL