grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026î   fnã@sœdZddlZddlZddlZdddgZGdd„deƒZdddd„Zdddd d„Zd d „Z e d kr˜e ƒndS) zƒImplementation of the UUencode and UUdecode functions. encode(in_file, out_file [,name, mode]) decode(in_file [, out_file, mode]) éNÚErrorÚencodeÚdecodec@seZdZdS)rN)Ú__name__Ú __module__Ú __qualname__©rrú'/opt/alt/python34/lib64/python3.4/uu.pyr's cCsÂg}z™|dkr$tjj}n‰t|tƒr­|dkrTtjj|ƒ}n|dkrŽytj|ƒj }WqŽt k rŠYqŽXnt |dƒ}|j |ƒn|dkrÈtj j}n.t|tƒröt |dƒ}|j |ƒn|dkr d}n|dkr d}n|jd|d@|fjdƒƒ|jd ƒ}x;t|ƒd kr�|jtj|ƒƒ|jd ƒ}qVW|jd ƒWdx|D]}|jƒq©WXdS) z Uuencode fileú-NÚrbÚwbi¶z begin %o %s iÿÚasciié-rs end )ÚsysÚstdinÚbufferÚ isinstanceÚstrÚosÚpathÚbasenameÚstatÚst_modeÚAttributeErrorÚopenÚappendÚstdoutÚwriterÚreadÚlenÚbinasciiZb2a_uuÚclose)Úin_fileÚout_fileÚnameÚmodeÚ opened_filesÚdataÚfrrr r*s>         $ Fc Csðg}|dkr!tjj}n.t|tƒrOt|dƒ}|j|ƒnz~xœ|jƒ}|svtdƒ‚n|j dƒs‹qUn|j ddƒ}t |ƒdkrU|ddkrUyt |d d ƒPWqít k réYqíXqUqUW|d krA|djd ƒjd ƒ}tjj|ƒrAtd|ƒ‚qAn|d krct |d d ƒ}n|dkr~tjj}n`t|tƒrÞt|dƒ}ytjj||ƒWntk rÇYnX|}|j|ƒn|jƒ}xÊ|r¶|jd ƒdkr¶ytj|ƒ} Wn|tjk r™} zY|ddd@ddd} tj|d | …ƒ} |s‡tjjd| ƒnWYd d } ~ XnX|j| ƒ|jƒ}qíW|sÌtdƒ‚nWd x|D]} | jƒq×WXd S)zDecode uuencoded filer r z'No valid begin line found in input filesbeginó éérééNs r z"Cannot overwrite existing file: %sr sendé é?ééz Warning: %s zTruncated input file)rrrrrrrÚreadlinerÚ startswithÚsplitrÚintÚ ValueErrorÚrstriprrrÚexistsrÚchmodrÚstripr Za2b_uuÚstderrrr!) r"r#r%Úquietr&ZhdrZ hdrfieldsÚfpÚsr'ÚvÚnbytesr(rrr rZsf  "       *  c CsËddl}|jddƒ}|jddddd d d d d dƒ|jddddd dd d d dƒ|jƒ\}}t|ƒdkr¯|jdƒtjdƒntjj }tj j }t|ƒdkræ|d}nt|ƒdkr|d}n|j rl|j r\t |tƒr8t|dƒ}q\ttjddƒtjdƒnt ||ƒn[|j rºt |tƒr–t|dƒ}qºttjddƒtjdƒnt||ƒdS)zuuencode/uudecode main programrNZusagez'usage: %prog [-d] [-t] [input [output]]z-dz--decodeÚdestrÚhelpzDecode (instead of encode)?ÚdefaultFÚactionÚ store_truez-tz--textÚtextz2data is text, encoded format unix-compatible text?r*zincorrect number of argumentsr,r z: cannot do -t to stdoutr z: cannot do -t from stdin)ÚoptparseZ OptionParserZ add_optionÚ parse_argsrÚerrorrÚexitrrrrrFrrrÚprintÚargvr)rGÚparserZoptionsÚargsÚinputÚoutputrrr Útest s6 ((        rQÚ__main__) Ú__doc__r rrÚ__all__Ú ExceptionrrrrQrrrrr Ús   0F &