o ckF[@snddlmZ  dddZGdddeZ   ddd ZGd d d eZ   dd d ZGdddeZdS)) unquote_strNc cshd}d}|r2|j|||||d}|D]}|Vq|r!|jp |j}|r+|dkr+t|}|j}|sdSdS)z< A generator function for listing keys in a bucket. TN)prefixmarker delimiterheaders encoding_typeurl) get_all_keys next_markernamer is_truncated) bucketrrrrr more_resultskrsr=/usr/lib/python3/dist-packages/boto/s3/bucketlistresultset.py bucket_listers    rc@&eZdZdZ  dddZddZdS) BucketListResultSetaM A resultset for listing keys within a bucket. Uses the bucket_lister generator function and implements the iterator interface. This transparently handles the results paging from S3 so even if you have many thousands of keys within the bucket you can iterate over all keys in a reasonably efficient manner. NrcCs(||_||_||_||_||_||_dSN)rrrrrr)selfrrrrrrrrr__init__4s  zBucketListResultSet.__init__cCs t|j|j|j|j|j|jdS)N)rrrrr)rrrrrrrrrrr__iter__=s zBucketListResultSet.__iter__)NrrrNN__name__ __module__ __qualname____doc__rrrrrrr+s  rc cshd}d}|r2|j|||||d|d} | D]}|Vq| j}|r(|dkr(t|}| j}| j}|sdSdS)z@ A generator function for listing versions in a bucket. TNi)r key_markerversion_id_markerrrmax_keysrr )get_all_versionsnext_key_markerrnext_version_id_markerr ) rrrr!r"rrrrrrrrversioned_bucket_listerCs"  r'c@r) VersionedBucketListResultSetaQ A resultset for listing versions within a bucket. Uses the bucket_lister generator function and implements the iterator interface. This transparently handles the results paging from S3 so even if you have many thousands of keys within the bucket you can iterate over all keys in a reasonably efficient manner. NrcCs.||_||_||_||_||_||_||_dSr)rrrr!r"rr)rrrrr!r"rrrrrras z%VersionedBucketListResultSet.__init__c Cs$t|j|j|j|j|j|j|jdS)N)rrr!r"rr)r'rrrr!r"rrrrrrrks z%VersionedBucketListResultSet.__iter__)NrrrrNNrrrrrr(Xs  r(ccsbd}d}|r/|j||||d}|D]}|Vq|j}|r%|dkr%t|}|j}|j}|sdSdS)zI A generator function for listing multipart uploads in a bucket. TNr!upload_id_markerrrr )get_all_multipart_uploadsr%rnext_upload_id_markerr )rr!r*rrrrrrrrmultipart_upload_listerss"  r-c@r) MultiPartUploadListResultSetaj A resultset for listing multipart uploads within a bucket. Uses the multipart_upload_lister generator function and implements the iterator interface. This transparently handles the results paging from S3 so even if you have many thousands of uploads within the bucket you can iterate over all keys in a reasonably efficient manner. NrcCs"||_||_||_||_||_dSr)rr!r*rr)rrr!r*rrrrrrs  z%MultiPartUploadListResultSet.__init__cCst|j|j|j|j|jdS)Nr))r-rr!r*rrrrrrrs z%MultiPartUploadListResultSet.__iter__)NrrNNrrrrrr.s  r.)rrrNN)rrrrNN)rrNN) boto.compatrrobjectrr'r(r-r.rrrrs