%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /proc/227033/root/lib/python2.7/site-packages/salt/utils/openstack/
Upload File :
Create Path :
Current File : //proc/227033/root/lib/python2.7/site-packages/salt/utils/openstack/swift.pyc

�
���^c@@sdZddlmZmZmZddlZddlZddlmZddl	m
Z
mZddlm
Z
ddlZddlmZeje�ZeZyddlmZeZWnek
r�nXd	�Zd
�Zd�Zdefd
��YZdS(u]
Swift utility class
===================
Author: Anthony Stanton <anthony.stanton@gmail.com>
i(tabsolute_importtunicode_literalstprint_functionN(tmakedirs(tdirnametisdir(tEEXIST(tsix(tclientcC@stS(N(t	HAS_SWIFT(((s>/usr/lib/python2.7/site-packages/salt/utils/openstack/swift.pytcheck_swift!scC@s=yt|�Wn(tk
r8}|jtkr9�q9nXdS(N(RtOSErrorterrnoR(tpathterr((s>/usr/lib/python2.7/site-packages/salt/utils/openstack/swift.pytmkdirs%s
cC@s>d}i}x+|D]#}||kr||||<qqW|S(Nuuserukeyuauthurluretriesu
preauthurlupreauthtokenusnetustarting_backoffumax_backoffutenant_nameu
os_optionsuauth_versionucacertuinsecureussl_compression(uuserukeyuauthurluretriesu
preauthurlupreauthtokenusnetustarting_backoffumax_backoffutenant_nameu
os_optionsuauth_versionucacertuinsecureussl_compression((tkwargst	variablestrettvar((s>/usr/lib/python2.7/site-packages/salt/utils/openstack/swift.pyt	_sanitize/s
t	SaltSwiftcB@s�eZdZddd�Zd�Zd�Zd�Zd�Zdd�Z	d�Z
ded	�Zd
�Z
d�Zd�Zd
�ZRS(u-
    Class for all swiftclient functions
    icK@s�tstjd�dS|j�|_||jd<||jd<||jd<||jd<||jd<d|jkr�||jd<nt|j�|_tj|j�|_	dS(	u.
        Set up openstack credentials
        uVError:: unable to find swiftclient. Try installing it from the appropriate repository.uuserupasswordutenant_nameuauthurluauth_versionukeyN(
R	tlogterrortNonetcopyRRRt
Connectiontconn(tselftuserttenant_nametauth_urltpasswordtauth_versionR((s>/usr/lib/python2.7/site-packages/salt/utils/openstack/swift.pyt__init__Ds





c@s�y|jj�}|SWn�tk
r��tjd�t�d�rpt�d�rptjd�j�j�ntjdt�d�fd����t	SXdS(	u'
        List Swift containers
        uThere was an error::ucodeumsgu    Code: %s: %su    Content: 
%sureadc@s
tj��S(N(Rt	text_type((texc(s>/usr/lib/python2.7/site-packages/salt/utils/openstack/swift.pyt<lambda>lsN(
Rtget_accountt	ExceptionRRthasattrtcodetmsgtgetattrtFalse(Rtlisting((R$s>/usr/lib/python2.7/site-packages/salt/utils/openstack/swift.pyR&as
(c@s�y|jj|�}|SWn�tk
r��tjd�t�d�rst�d�rstjd�j�j�ntjdt�d�fd����t	SXdS(	u1
        List files in a Swift container
        uThere was an error::ucodeumsgu    Code: %s: %su    Content: 
%sureadc@s
tj��S(N(RR#((R$(s>/usr/lib/python2.7/site-packages/salt/utils/openstack/swift.pyR%zsN(
Rt
get_containerR'RRR(R)R*R+R,(RtcontR-((R$s>/usr/lib/python2.7/site-packages/salt/utils/openstack/swift.pyR.os
(c@s�y|jj|�tSWn�tk
r��tjd�t�d�rqt�d�rqtjd�j�j�ntjdt	�d�fd����t
SXdS(	u.
        Create a new Swift container
        uThere was an error::ucodeumsgu    Code: %s: %su    Content: 
%sureadc@s
tj��S(N(RR#((R$(s>/usr/lib/python2.7/site-packages/salt/utils/openstack/swift.pyR%�sN(Rt
put_containertTrueR'RRR(R)R*R+R,(RR/((R$s>/usr/lib/python2.7/site-packages/salt/utils/openstack/swift.pyR0}s
(c@s�y|jj|�tSWn�tk
r��tjd�t�d�rqt�d�rqtjd�j�j�ntjdt	�d�fd����t
SXdS(	u*
        Delete a Swift container
        uThere was an error::ucodeumsgu    Code: %s: %su    Content: 
%sureadc@s
tj��S(N(RR#((R$(s>/usr/lib/python2.7/site-packages/salt/utils/openstack/swift.pyR%�sN(Rtdelete_containerR1R'RRR(R)R*R+R,(RR/((R$s>/usr/lib/python2.7/site-packages/salt/utils/openstack/swift.pyR2�s
(cC@sdS(u+
        Update container metadata
        N((RR/tmetadata((s>/usr/lib/python2.7/site-packages/salt/utils/openstack/swift.pytpost_container�scC@sdS(u(
        Get container metadata
        N((RR/((s>/usr/lib/python2.7/site-packages/salt/utils/openstack/swift.pythead_container�sc@siy�|dkr|tkrtS|jj||dd�\}}|tkrXtj}nDt|�}|r�t|�r�t	|�nt
jjj
|d�}d}	x+|D]#}
|	t|
�7}	|j|
�q�W|j�tSWn�tk
rd�tjd�t�d�r8t�d�r8tjd�j�j�ntjd	t�d
�fd����tSXdS(
u,
        Retrieve a file from Swift
        tresp_chunk_sizeiuwbiuThere was an error::ucodeumsgu    Code: %s: %su    Content: 
%sureadc@s
tj��S(N(RR#((R$(s>/usr/lib/python2.7/site-packages/salt/utils/openstack/swift.pyR%�sN(RR,Rt
get_objectR1tsyststdoutRRRtsalttutilstfilestfopentlentwritetcloseR'RRR(R)R*R+(RR/tobjt
local_filet
return_bintheaderstbodytfptdirpathtread_lengthtchunk((R$s>/usr/lib/python2.7/site-packages/salt/utils/openstack/swift.pyR7�s,!



(c@s�y?tjjj|d��}|jj|||�WdQXtSWn�tk
r��tj	d�t
�d�r�t
�d�r�tj	d�j�j�ntj	dt
�d�fd	����tSXdS(
u(
        Upload a file to Swift
        urbNuThere was an error::ucodeumsgu    Code: %s: %su    Content: 
%sureadc@s
tj��S(N(RR#((R$(s>/usr/lib/python2.7/site-packages/salt/utils/openstack/swift.pyR%�s(R:R;R<R=Rt
put_objectR1R'RRR(R)R*R+R,(RR/RARBtfp_((R$s>/usr/lib/python2.7/site-packages/salt/utils/openstack/swift.pyRJ�s
(c@s�y|jj||�tSWn�tk
r��tjd�t�d�rtt�d�rttjd�j�j�ntjdt	�d�fd����t
SXdS(	u*
        Delete a file from Swift
        uThere was an error::ucodeumsgu    Code: %s: %su    Content: 
%sureadc@s
tj��S(N(RR#((R$(s>/usr/lib/python2.7/site-packages/salt/utils/openstack/swift.pyR%�sN(Rt
delete_objectR1R'RRR(R)R*R+R,(RR/RA((R$s>/usr/lib/python2.7/site-packages/salt/utils/openstack/swift.pyRL�s
(cC@sdS(u%
        Get object metadata
        N((RR/RA((s>/usr/lib/python2.7/site-packages/salt/utils/openstack/swift.pythead_object�scC@sdS(u(
        Update object metadata
        N((RR/RAR3((s>/usr/lib/python2.7/site-packages/salt/utils/openstack/swift.pytpost_object�sN(t__name__t
__module__t__doc__RR"R&R.R0R2R4R5R,R7RJRLRMRN(((s>/usr/lib/python2.7/site-packages/salt/utils/openstack/swift.pyR?s					"			( RQt
__future__RRRtloggingR8tosRtos.pathRRRRtsalt.utils.filesR:tsalt.extRt	getLoggerRORR,R	tswiftclientRR1tImportErrorR
RRtobjectR(((s>/usr/lib/python2.7/site-packages/salt/utils/openstack/swift.pyt<module>s&

		
	

Zerion Mini Shell 1.0