ó FRTc@s@ddlmZdefd„ƒYZdefd„ƒYZdS(iÿÿÿÿ(tUsert ResultSetcBs8eZdZdd„Zd„Zdd„Zd„ZRS(s& The ResultSet is used to pass results back from the Amazon services to the client. It is light wrapper around Python's :py:class:`list` class, with some additional methods for parsing XML results from AWS. Because I don't really want any dependencies on external libraries, I'm using the standard SAX parser that comes with Python. The good news is that it's quite fast and efficient but it makes some things rather difficult. You can pass in, as the marker_elem parameter, a list of tuples. Each tuple contains a string as the first element which represents the XML element that the resultset needs to be on the lookout for and a Python class as the second element of the tuple. Each time the specified element is found in the XML, a new instance of the class will be created and popped onto the stack. :ivar str next_token: A hash used to assist in paging through very long result sets. In most cases, passing this value to certain methods will give you another 'page' of results. cCs˜tj|ƒt|tƒr(||_n g|_d|_d|_d|_d|_d|_ d|_ d|_ d|_ t |_d|_t|_dS(N(tlistt__init__t isinstancetmarkerstNonetmarkert key_markert next_markertnext_key_markertnext_upload_id_markertnext_version_id_markertnext_generation_markertversion_id_markertFalset is_truncatedt next_tokentTruetstatus(tselft marker_elem((s;/opt/freeware/lib/python2.7/site-packages/boto/resultset.pyR.s             cCshxB|jD]7}||dkr |d|ƒ}|j|ƒ|Sq W|dkrdtƒ|_|jSdS(NiitOwner(RtappendRtownerR(Rtnametattrst connectiontttobj((s;/opt/freeware/lib/python2.7/site-packages/boto/resultset.pyt startElement@s   ttruecCs||krtStSdS(N(RR(Rtvaluet true_value((s;/opt/freeware/lib/python2.7/site-packages/boto/resultset.pyt to_booleanNs cCsi|dkr!|j|ƒ|_nD|dkr9||_n,|dkrQ||_n|dkri||_nü|dkr||_nä|dkr™||_nÌ|dkr±||_n´|dkrÉ||_nœ|d krá||_ n„|d krù||_ nl|d kr||_ nT|d kr/t |ƒ|_ n6|d krMt |ƒ|_n|dkre||_n|dkr†|j|ƒ|_nß|dkrª|j|dƒ|_n»|dkrÆ|j|ƒnŸ|dkrÞ||_n‡|dkrÿ||_||_nf|dkr1y|jt|ƒ7_WqeqeXn4|dkrU|j|dƒ|_nt|||ƒdS(Nt IsTruncatedtMarkert KeyMarkert NextMarkert NextKeyMarkertVersionIdMarkertNextVersionIdMarkertNextGenerationMarkertUploadIdMarkertNextUploadIdMarkertBuckett MaxUploadstMaxItemstPrefixtreturnt StatusCodetSuccesstItemNamet NextTokent nextTokentBoxUsagetIsValidR(R"RRRR R RR R tupload_id_markerR tbuckettintt max_uploadst max_itemstprefixRRRR6t box_usagetfloattsetattr(RRR R((s;/opt/freeware/lib/python2.7/site-packages/boto/resultset.pyt endElementTs^                                   N(t__name__t __module__t__doc__RRRR"RB(((s;/opt/freeware/lib/python2.7/site-packages/boto/resultset.pyRs    t BooleanResultcBsDeZdd„Zd„Zd„Zd„Zdd„Zd„ZRS(cCst|_d|_d|_dS(N(RRRt request_idR?(RR((s;/opt/freeware/lib/python2.7/site-packages/boto/resultset.pyR‹s  cCs|jr dSdSdS(NRR(R(R((s;/opt/freeware/lib/python2.7/site-packages/boto/resultset.pyt__repr__s cCs|jS(N(R(R((s;/opt/freeware/lib/python2.7/site-packages/boto/resultset.pyt __nonzero__–scCsdS(N(R(RRRR((s;/opt/freeware/lib/python2.7/site-packages/boto/resultset.pyR™sRcCs||krtStSdS(N(RR(RR R!((s;/opt/freeware/lib/python2.7/site-packages/boto/resultset.pyR"œs cCsÅ|dkr!|j|ƒ|_n |dkrE|j|dƒ|_n||dkri|j|dƒ|_nX|dkr||_n@|dkr™||_n(|dkr±||_nt|||ƒdS( NR1R2R3R8Rt RequestIdt requestIdR7(R"RRGRA(RRR R((s;/opt/freeware/lib/python2.7/site-packages/boto/resultset.pyRB¢s         N( RCRDRRRHRIRR"RB(((s;/opt/freeware/lib/python2.7/site-packages/boto/resultset.pyRF‰s      N(t boto.s3.userRRRtobjectRF(((s;/opt/freeware/lib/python2.7/site-packages/boto/resultset.pytsp