\ddZddlZddlZddlZddlZejedgdZGddeZ ddd d Z dd Z d Z ed kr e dSdS)zImplementation of the UUencode and UUdecode functions. encode(in_file, out_file [,name, mode], *, backtick=False) decode(in_file [, out_file, mode, quiet]) N) )remove)ErrorencodedecodeceZdZdS)rN)__name__ __module__ __qualname__..\python\lib\uu.pyrr*sDrrFbacktickcrg} |dkrtjj}nt|trs|t j|}|+ t j|j }n#t$rYnwxYwt|d}| ||dkrtj j}n:t|tr%t|d}| ||d}|d}|dd}|dd }|d |d z|fzd |d }t%|dkrQ|t'j|||d }t%|dkQ|r|dn|d|D]}|dS#|D]}|wxYw)z Uuencode file-Nrbwbi z\n z\rz begin %o %s iascii-rrs` end s end )sysstdinbuffer isinstancestrospathbasenamestatst_modeAttributeErroropenappendstdoutreplacewriterreadlenbinasciib2a_uuclose)in_fileout_filenamemoder opened_filesdatafs rrr-sL L1 c>>i&GG  % % )|w''00|77++3DD%D7D))G    ( ( ( s??z(HH # & & *Hd++H    ) ) ) <D <D ||D''||D'' D5L4*@@HHQQRRR||B$ii!mm NN8?4(CCC D D D<<##D$ii!mm  ( NN; ' ' ' ' NN; ' ' '  A GGIIII    A GGIIII s1AHA/.H/ A<9H;A<>(++  $**I9~~""y|x'?'? ! a(((!D    |**<88??HHHw~~h'' KIxIIJJJ##BF++ [RV ))I*((33*&")%%11YHYYYZZZ <y|Q''D s??z(HH # & & *h%%B HXt $ $ $H    ) ) )      #AGGL))V33 :q))> : : :aDGr>Q.2q8q&z22:J$$_q%8999  : NN4   ""A #AGGL))V33 0.// / 0  A GGIIII    A GGIIII s^A1M:CM: C,)M:+C,,FM:JM:L%AL<M:LAM::Ncddl}|d}|ddddd d |d d ddd d |\}}t |dkr)|dt jdt jj }t j j }t |dkr|d}t |dkr|d}|j rs|j rZt|trt|d}n4t!t jddt jdt||dS|j rZt|trt|d}n4t!t jddt jdt%||dS)zuuencode/uudecode main programrNz'usage: %prog [-d] [-t] [input [output]])usagez-dz--decoderzDecode (instead of encode)?F store_true)desthelpdefaultactionz-tz--texttextz2data is text, encoded format unix-compatible text?r8zincorrect number of argumentsr9rz: cannot do -t to stdoutrz: cannot do -t from stdin)optparse OptionParser add_option parse_argsr+errorrexitrrr'rrZrrr%printargvr)r[parseroptionsargsinputoutputs rtestrhsOOO  " ")R " S SF dJX>> uf < %%% UD))chqk#>??? ufr__main__)NN)NNF) __doc__r,rrwarnings _deprecatedr __all__ Exceptionrrrrhr rrros6  Xg.... ' ' '     I   777777tHHHHT$$$L zDFFFFFr