ó FRTc@sXddlZddlmZmZddlmZddlZdefd„ƒYZdS(iÿÿÿÿN(tdatetimet timedelta(tparse_tstResultProcessorcBskeZdZd d„Zd„Zd„Zed„Zeed„Z ed„Z d„Z eed„Z RS( slog.csvcCs‹||_||_d|_d|_d|_tj|_tj |_ t j|_ t j |_ |jjdƒ|_|jjdƒ|_dS(Nit output_queuet output_domain(tsdtbatchtNonetlog_fpt num_filest total_timeRtmaxtmin_timetmintmax_timeRt earliest_timet latest_timetget_objtqueuetdomain(tselft batch_nameRtmimetype_files((sA/opt/freeware/lib/python2.7/site-packages/boto/services/result.pyt__init__s         cCs¬t|dƒ}t|dƒ}||}||jkrE||_n||jkr`||_n|j|j7_||jkr||_n||jkr¨||_ndS(Ns Service-Reads Service-Write(RRR R tsecondsRR(Rtmsgt start_timetend_timet elapsed_time((sA/opt/freeware/lib/python2.7/site-packages/boto/services/result.pytcalculate_stats,s    cCsÜt|jƒƒ}|jsettjj||jƒdƒ|_dj|ƒ}|jj|dƒng}xG|D]?}||}|j dƒdkr¤d|}n|j |ƒqrWdj|ƒ}|jj|dƒdS(Ntat,s is"%s"( tsortedtkeysR topentostpathtjoint LogFileNametwritetfindtappend(RRR%R"tlinetvaluestkeytvalue((sA/opt/freeware/lib/python2.7/site-packages/boto/services/result.pyt log_message:s $   c Csë|j||ƒ|j|ƒ|djdƒ}d|krUtjd|dƒ}ntjd|dƒ}xy|D]q}|rÔ|jdƒd}|j|ƒ}tjj||ƒ} d|| fGH|j| ƒn|j d 7_ qrWdS( Nt OutputKeyR t OutputBucketts3tBuckett;isretrieving file: %s to %si( R/RtsplittbototlookupR$R%R&tget_contents_to_filenameR ( RtrecordR%tget_filetoutputstbuckettoutputtkey_nameR-t file_name((sA/opt/freeware/lib/python2.7/site-packages/boto/services/result.pytprocess_recordIs   cCs}|jjƒ}xg|rxd|krf|d|jkrf|j|||ƒ|rf|jj|ƒqfn|jjƒ}qWdS(NtBatch(RtreadRR@tdelete_message(RR%R:t delete_msgtm((sA/opt/freeware/lib/python2.7/site-packages/boto/services/result.pytget_results_from_queueZs cCsA|jjd|jƒ}x!|D]}|j|||ƒq WdS(Ns['Batch'='%s'](RtqueryRR@(RR%R:trstitem((sA/opt/freeware/lib/python2.7/site-packages/boto/services/result.pytget_results_from_domaincs cCsq|jjdƒ}|rmdGHxM|D]B}tjj||ƒ}d||fGH|j|ƒ|jdq$WndS(Nt output_bucketsCNo output queue or domain, just retrieving files from output_bucketsretrieving file: %s to %si(RRR$R%R&R8R (RR%R<R-R?((sA/opt/freeware/lib/python2.7/site-packages/boto/services/result.pytget_results_from_buckeths  cCs+tjj|ƒs"tj|ƒn|jr>|j||ƒn)|jrZ|j||ƒn |j|ƒ|j r€|j j ƒnd|j GH|j dkr't |j ƒ|j |_d|jjGHd|jjGHd|jGH|j|j|_d|jjGHd|jjd|j }d |GHndS( Ns"%d results successfully retrieved.isMinimum Processing Time: %dsMaximum Processing Time: %dsAverage Processing Time: %fsElapsed Time: %dgð?gN@s$Throughput: %f transactions / minute(R$R%tisdirtmkdirRRFRRJRLR tcloseR tfloatR tavg_timeR RRRRR(RR%R:RDttput((sA/opt/freeware/lib/python2.7/site-packages/boto/services/result.pyt get_resultsrs&      N( t__name__t __module__R'RRRR/tTrueR@RFRJRLRS(((sA/opt/freeware/lib/python2.7/site-packages/boto/services/result.pyRs     (R$RRt boto.utilsRR6tobjectR(((sA/opt/freeware/lib/python2.7/site-packages/boto/services/result.pyts