o ckF[@s@ddlZddlmZddlmZddlmZGdddeZdS)N)Key)SimpleResultSet)BucketListResultSetc@s^eZdZddZddZddZ  ddd Zdd d Zddej fd d Z dej fddZ dS)BucketcCs||_||_dS)zHInstantiate an anonymous file-based Bucket around a single key. N)name contained_key)selfrrr 2/usr/lib/python3/dist-packages/boto/file/bucket.py__init__s zBucket.__init__cCs tt|SN)iterrrr r r __iter__%s zBucket.__iter__cCs d|jS)Nzanonymous bucket for file://)rrr r r __str__(s zBucket.__str__NcCst|dS)a< Deletes a key from the bucket. :type key_name: string :param key_name: The key name to delete :type version_id: string :param version_id: Unused in this subclass. :type mfa_token: tuple or list of strings :param mfa_token: Unused in this subclass. N)osremove)rkey_nameheaders version_id mfa_tokenr r r delete_key+szBucket.delete_keycKst|j|j}t|gS)z This method returns the single key around which this anonymous Bucket was instantiated. :rtype: SimpleResultSet :return: The result from file system listing the keys requested )rrrr)rrparamskeyr r r get_all_keys;s zBucket.get_all_keyscCs2|dkr t|jdtjdSt|d}t|j||S)a Check to see if a particular key exists within the bucket. Returns: An instance of a Key object or None :type key_name: string :param key_name: The name of the key to retrieve :type version_id: string :param version_id: Unused in this subclass. :type stream_type: integer :param stream_type: Type of the Key - Regular File or input/output Stream :rtype: :class:`boto.file.key.Key` :returns: A Key object from this bucket. -key_typerb)rrKEY_STREAM_READABLEopen)rrrrrfpr r r get_keyGs zBucket.get_keycCsX|dkr t|jdtjdStj|}|r tj|s t|t|d}t|j||S)z Creates a new key :type key_name: string :param key_name: The name of the key to create :rtype: :class:`boto.file.key.Key` :returns: An instance of the newly created key object rrwb) rrKEY_STREAM_WRITABLErpathdirnameexistsmakedirsr )rrrdir_namer!r r r new_key_s    zBucket.new_key)NNNr ) __name__ __module__ __qualname__r rrrrrKEY_REGULAR_FILEr"r*r r r r rs   r) r boto.file.keyrboto.file.simpleresultsetrboto.s3.bucketlistresultsetrobjectrr r r r s