ó FRTc@sNddlZddlmZddlZddlZdefd„ƒYZdS(iÿÿÿÿN(t ScriptBasetCopyBotcBs>eZd„Zd„Zd„Zd„Zd„Zd„ZRS(cCs’tt|ƒjƒtjjddƒ|_d|j|_t j j |j|jƒ|_ tj |j|j ƒtjj|jdƒ|_tjj|jdƒ|_tjj|jdtƒ|_tjƒ}|j|jƒ|_|jstjjd|jƒntjj|jddƒ}|rXtjj|jd dƒ}tj||ƒ}n|j|jƒ|_|jsŽ|j|jƒ|_ndS( NtPyamit working_dirs%s.logt src_buckett dst_buckett replace_dsts Source bucket does not exist: %stdest_aws_access_key_idtdest_aws_secret_access_key(tsuperRt__init__tbototconfigtgettwdirt instance_idtlog_filetostpathtjointlog_pathtset_file_loggertnametsrc_nametdst_nametgetbooltTruetreplacet connect_s3tlookuptsrctlogterrortNonetconnecttdstt create_bucket(tselfts3tdest_access_keytdest_secret_key((s?/opt/freeware/lib/python2.7/site-packages/boto/pyami/copybot.pyR s&   cCsAtjj|jdtƒr=|jjƒ}|jj|ƒndS(Nt copy_acls( R R R RRRt get_xml_aclR#t set_xml_acl(R%tacl((s?/opt/freeware/lib/python2.7/site-packages/boto/pyami/copybot.pytcopy_bucket_acl1scCs;tjj|jdtƒr7|jƒ}|j|ƒndS(NR)(R R R RRR*R+(R%RR#R,((s?/opt/freeware/lib/python2.7/site-packages/boto/pyami/copybot.pyt copy_key_acl6s cCs`tjjd|jjƒtjjd|jjƒyx|jD]õ}|js—|jj|jƒ}|r—tjjd|j|jjfƒqAq—ntjjd|j|jfƒt j j |jƒ\}}t j j |j |ƒ}|j|ƒ|jj|jƒ}|j|ƒ|j||ƒt j|ƒqAWWntjjd|jƒnXdS(Nssrc=%ssdst=%ss%key=%s already exists in %s, skippingscopying %d bytes from key=%ssError copying key: %s(R RtinfoRRR#RRtsizeRRtsplitRRtget_contents_to_filenametnew_keytset_contents_from_filenameR.tunlinkt exception(R%tkeytexiststprefixtbaseRR3((s?/opt/freeware/lib/python2.7/site-packages/boto/pyami/copybot.pyt copy_keys;s& #    cCs)|jj|jƒ}|j|jƒdS(N(R#R3RR4R(R%R7((s?/opt/freeware/lib/python2.7/site-packages/boto/pyami/copybot.pytcopy_logPscCsØtjƒ}tjj|ƒ|jd|j|jf|jƒƒ|jra|j ra|j ƒn|j rw|j ƒn|jd|j|jfdƒtjj |jdt ƒrÔtjƒ}|j|jgƒndS(Ns%s (%s) Startings%s (%s) StoppingsCopy Operation Completetexit_on_completion(tStringIOR R t dump_safetnotifyRRtgetvalueRR#R;R<RRt connect_ec2tterminate_instances(R%tfptec2((s?/opt/freeware/lib/python2.7/site-packages/boto/pyami/copybot.pytmainTs &    (t__name__t __module__R R-R.R;R<RF(((s?/opt/freeware/lib/python2.7/site-packages/boto/pyami/copybot.pyRs      (R tboto.pyami.scriptbaseRRR>R(((s?/opt/freeware/lib/python2.7/site-packages/boto/pyami/copybot.pyts