Xc@sddlZddlmZddlmZddlmZddlmZddl m Z ddl m Z m Z de efd YZdS( iN(tArg(t ArgumentError(tTabifyingMixin(tPaginatedResponse(t parse_aws_xml(t S3Requesttvalidate_generic_bucket_namet ListBucketc BseZdZedddddddeddd d ed ejd ejgZd Z dZ dZ dZ dZ dZRS(s List keys in one or more bucketstpathstmetavars BUCKET[/KEY]tnargst+troute_tos--max-keys-per-requesttdestsmax-keysttypetdefaultthelpcCstj|x|jdD]}|jdrHtdj|n|jddd}yt|Wqtk r}tdj||j qXqWdS(NRt/s>argument '{0}' must not start with "/"; format is BUCKET[/KEY]iisbucket "{0}": {1}( Rt configuretargst startswithRtformattsplitRt ValueErrortmessage(tselftpathtbucketterr((sD/usr/lib/python2.7/site-packages/euca2ools/commands/s3/listbucket.pyR,s cCs?d|_g|jdD]}|if^q}t||dS(NtGETRtContents(R(tmethodRR(RRtpages((sD/usr/lib/python2.7/site-packages/euca2ools/commands/s3/listbucket.pytmain:s &cCs9|jddkr5|ji|dddd6fSdS(Nt IsTruncatedttrueRitKeytmarker(tgetR(Rtresponse((sD/usr/lib/python2.7/site-packages/euca2ools/commands/s3/listbucket.pyt get_next_page?scCs|djd\}}}|d}||_|rE||jdtrequestbuilderRtrequestbuilder.exceptionsRtrequestbuilder.mixinsRtrequestbuilder.responseRtrequestbuilder.xmlparseRteuca2ools.commands.s3RRR(((sD/usr/lib/python2.7/site-packages/euca2ools/commands/s3/listbucket.pyts