Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
ó
·EYc@ssddlmZddlZddlZddlZddlZddlZddlZddlj	j
jZddl
Z
ddlZddlZddlZejdkr»ddlZndZddlmZddlmZddlZddlZddlmZddlmZejƒZd,Zd-Z d„Z!e d„Z"dd
„Z#d„Z$ddd„Z%dd„Z&d„Z'd„Z(ddd„Z)d„Z*d„Z+d„Z,d„Z-d„Z.d„Z/e0dd„Z1d„Z2d„Z3d „Z4dd!„Z5d"„Z6d#e7fd$„ƒYZ8d%ej9fd&„ƒYZ:d'ej9fd(„ƒYZ;d)„Z<d*„Z=d+„Z>dS(.iÿÿÿÿ(tprint_functionNtnt(tencodeutils(tstrutils(t_(texcsX-Auth-Tokentdisk_formattcontainer_formatcs‡‡fd†}|S(Ncs)|jjdgƒjdˆˆfƒ|S(Nt	argumentsi(t__dict__t
setdefaulttinsert(tfunc(targstkwargs(sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pyt
_decorator5s%((R
RR((R
RsN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pytarg4scs‡‡fd†}|S(s´Decorator to check commands' validity

    This decorator checks that required fields are present when image
    data has been supplied via command line arguments or via stdin

    On error throws CommandError exception with meaningful message.

    :param data_fields: Which fields' presence imply image data
    :type data_fields: iter
    :param required: Required fields
    :type required: iter
    :return: function decorator
    cs4d„‰tjˆƒ‡‡‡‡fd†ƒ}|S(NcSsd„|Dƒ}dj|ƒS(Ncss%|]}d|jddƒVqdS(s--Rt-N(treplace(t.0tx((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pys	<genexpr>Nss, (tjoin(tfieldsR
((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pytprepare_fieldsMscs¨td„t|ƒjƒDƒƒ}|jˆƒ}tˆƒ|}|sSt|ƒr›|r›tdƒiˆ|ƒd6ˆ|ƒpdd6}tj|ƒ‚nˆ||ƒS(Ncss#|]}|dr|dVqdS(iiN((Rta((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pys	<genexpr>Tss/error: Must provide %(req)s when using %(opt)s.treqtstdintopt(tsettvarstitemstintersectiont
get_data_fileRRtCommandError(tgcR
Rtpresenttmissingtmsg(tdata_fieldsRRtrequired(sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pytfunc_wrapperQs"	(t	functoolstwraps(RR((R&R'(RRsN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pytargs_decoratorLs	'((R&R'R+((R&R'sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pyton_data_require_fields=scsMˆp	g‰itjd6td6tjd6td6‰‡‡‡fd†}|S(Ntstringtintegertbooleantarrayc
s4ˆƒ}|dkrSd}idd6}|jjdgƒjd|f|fƒnÝ|jdiƒ}xÈtj|ƒD]·\}}|ˆkr“qund|jdd	ƒ}i}|jd
dƒ}t|t	ƒrúx'|D]}|dkr×|}Pq×q×Wn|d
kr>|jdƒ}	ˆj|	jd
ƒƒ|d
<d|d<nˆj|ƒ|d
<|dkrjd|d<nd|j
ƒ|d<|jddƒ}
d|krút|
ƒrµ|
d7}
ng|jdƒD]}tj|ƒ^qÅ}|
ddj
|ƒ7}
n|
|d<|jjdgƒjd|f|fƒquW|S(Ns
<unavailable>sePlease run with connection parameters set to retrieve the schema for generating help for this commandthelpRit
propertiess--RRttypeR-tnullR0Rt+tnargsR/s[True|False]tmetavars<%s>tdescriptionttenumt sValid values: s, (tNoneR	R
Rtgettsixt	iteritemsRt
isinstancetlisttuppertlent	text_typeR(
RtschematparamRR2tnametpropertyttype_strttRR8tvaltvals(tomitt
schema_getterttypemap(sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pyRpsJ	





+
 (Rtsafe_decodetintRtbool_from_stringRA(RNRMR((RMRNROsN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pytschema_argsgs


<cCsdjd„|DƒƒS(Ns, css|]}d|VqdS(s'%s'N((Rti((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pys	<genexpr>°s(R(tl((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pytpretty_choice_list¯scCsJ|p	i}|pi}tjg|D]}|^q%dtƒ}d|_xá|D]Ù}g}x½|D]µ}||krµx=tj||ƒD]%\}	}
t||	ƒ}|
||<q‰Wn||krÛ|j|||ƒƒqc|jƒj	ddƒ}t||dƒpd}
|j|
ƒqcW|j|ƒqPWtt
j|jƒƒƒdS(NtcachingRUR;RR9(tprettytabletPrettyTabletFalsetalignR>R?tgetattrtappendtlowerRR<tadd_rowtprintRRPt
get_string(tobjsRt
formatterstfield_settingstftpttotrowtfieldtsettingtvaluetsetting_dictt
field_nametdata((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pyt
print_list³s$(	

 iPcCsªtjddgdtƒ}d|_||_xWtj|ƒD]F\}}t|tt	fƒrpt
j|ƒ}n|j||gƒq=Wt
tj|jddƒƒƒdS(NtPropertytValueRWRUtsortby(RXRYRZR[t	max_widthR>R?R@tdictRAtjsontdumpsR_R`RRPRa(tdtmax_column_widthRftktv((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pyt
print_dictÌs		cCs8y2t|tƒs|jƒr1|jt|ƒƒSWntjk
rHnXy'tjtj	|ƒƒ|j|ƒSWnt
tjfk
rŒnXt|jdi|d6ƒƒ}t|ƒ}|dkròd|j
jjƒ|f}tj|ƒ‚nB|dkr,d|j
jjƒ|f}tj|ƒ‚n|dSdS(sHelper for the _find_* methods.tfiltersRGis'No %s with a name or ID of '%s' exists.isBMultiple %s matches found for '%s', use an ID to be more specific.N(R@RQtisdigitR=RtNotFoundtuuidtUUIDRRPt
ValueErrorRARCtresource_classt__name__R^R!(tmanagert
name_or_idtmatchestnum_matchesR%((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pyt
find_resource×s,
cOs@x-|D]%}tjj|dƒ}|r|SqW|jddƒS(s§Search for the first defined of possibly many env vars.

    Returns the first environment variable defined in vars, or
    returns the default defined in kwargs.
    tdefaultR9N(tostenvironR=R<(RRRzRk((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pytenvùs

R9icCs$|rt|ƒntj|ƒdS(N(t	print_errtsystexit(R%t	exit_code((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pyRs
cCs ttj|ƒdtjƒdS(Ntfile(R`RRPRŽtstderr(R%((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pyRscCsy|dkr'ttjdtjƒ}nt|dƒ}z"x|D]}|j|ƒq@WWd|dk	rt|jƒnXdS(sSave an image to the specified path.

    :param data: binary data of the image
    :param path: path to save the image to
    tbuffertwbN(R<R\RŽtstdouttopentwritetclose(Rntpathtimagetchunk((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pyt
save_images
cCsšddddddddg}d	}d
}|dkr?d
}nx$||kre|d}||}qBWd|}|jd
ƒjdƒ}d|||fS(NtBtkBtMBtGBtTBtPBtEBtZBg@iis%.1ft0t.s%s%s(R<trstrip(tsizetsuffixtbasetindextpaddedtstripped((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pytmake_size_human_readable%s	

c	Cs²t|dƒr®t|dƒr®tjs<tjr®|jƒr®y@|jƒ}|jdtjƒ|jƒ}|j|ƒ|SWq®t	k
rª}|j
t
jkr¤dS‚q®XndS(s¨Analyze file-like object and attempt to determine its size.

    :param file_obj: file-like object.
    :retval The file's size or None if it cannot be determined.
    tseekttelliN(thasattrR>tPY2tPY3tseekableR°R¯RŠtSEEK_ENDtIOErrorterrnotESPIPE(tfile_objtcurrR¨te((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pyt
get_file_size6s
cCs¦|jrt|jdƒSytjdƒWntk
r>dSXtjjƒsžtj}t	tjdƒrxtjj
}ntrštj|j
ƒtjƒn|SdSdS(NtrbiR“(R‘R–RŠtfstattOSErrorR<RŽRtisattyR±R“tmsvcrttsetmodetfilenotO_BINARY(R
Rš((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pyR Rs		
	cCs®t|tjƒs!tdƒ‚nd}|jdƒ}tj|ƒ}|\}}}}}}|jdƒ}tj	d|ƒr¤t
|jdƒƒ}|d|}n||fS(s=Strip version from the last component of endpoint if present.sExpected endpointt/s
v\d+\.?\d*Rzs://N(R@R>tstring_typesRR<R§turlparsetlstriptretmatchtfloat(tendpointtversiont	url_partstschemetnetlocR™t__((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pyt
strip_versionoscCsšddddg}tgtj|ƒD]}|d|kr%|^q%ƒ}|rgt|dƒ|d<nt|ƒjƒrŒt|d|ƒn
t|ƒdS(NtselftaccessR‘REiR¨Rx(RtR>R?R®tstrR}R{(t	image_objthuman_readablet
max_col_widthtignoretitemRš((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pytprint_image…sccsŽtjƒ}xD|D]<}|Vt|tjƒrBtj|ƒ}n|j|ƒqW|jƒ}||krŠtt	j
d||fƒ‚ndS(s6Check image data integrity.

    :raises: IOError
    s3Corrupt image download. Checksum was %s expected %sN(thashlibtmd5R@R>RÆtbtupdatet	hexdigestR¶R·tEPIPE(titertchecksumtmd5sumR›((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pytintegrity_iter‘s
	cs)dˆj‰t‡‡fd†ƒ}|S(Nt_lazy_once_c	sbt|ˆƒrt|ˆƒSt-t|ˆƒsKt|ˆˆ|ƒƒnWdQXt|ˆƒSdS(N(R±R\t_memoized_property_locktsetattr(RÓ(t	attr_nametfn(sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pyt_memoized_property¦s
(RƒRH(RêRë((RéRêsN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pytmemoized_property£s
	cCsO|dk	rA|tkrAtj|ƒ}|jƒ}|d|fS||fSdS(Ns{SHA1}%s(R<tSENSITIVE_HEADERSRÜtsha1Rà(RGRkthRw((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pytsafe_header²s
cCs6|r(t|ƒ\}}||p$|fSd|fSdS(N(RÒR<(RÌtdefault_versionRÍ((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pytendpoint_version_from_url»scCs<ttdƒƒtkrtSd|ks4d|kr8tStS(NtGLANCECLIENT_DEBUGs--debugs-d(tboolRŒtTrueRZ(targv((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pyt
debug_enabledÃs
tIterableWithLengthcBs2eZd„Zd„Zd„ZeZd„ZRS(cCs||_||_dS(N(titerabletlength(RÓRùRú((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pyt__init__Ìs	ccs2zx|jD]}|Vq
WWd|jjƒXdS(N(RùR˜(RÓR›((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pyt__iter__Ðs
cCs
t|jƒS(N(tnextRù(RÓ((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pyRý×scCs|jS(N(Rú(RÓ((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pyt__len__Ýs(Rƒt
__module__RûRüRýt__next__Rþ(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pyRøËs
			tRequestIdProxycBs>eZd„Zed„ƒZed„ƒZd„ZeZRS(cCsGtt|ƒj|dƒ|d|_t|dƒ}|g|_dS(Nii(tsuperRRût
_self_wrappedt_extract_request_idt_self_request_ids(RÓtwrappedtreq_id((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pyRûâs
cCs|jS(N(R(RÓ((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pytrequest_idséscCs|jS(N(R(RÓ((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pyRíscCs
t|jƒS(N(RýR(RÓ((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pyRýòs(RƒRÿRûRHRRRýR(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pyRás
		tGeneratorProxycBs\eZd„Zd„Zd„Zd„Zd„Zd„Zed„ƒZ	ed„ƒZ
RS(cCs,tt|ƒj|ƒ||_g|_dS(N(RR	RûRR(RÓR((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pyRûús	cCs.|jgkr*t|ƒ}|g|_ndS(N(RR(RÓtrespR((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pyt_set_request_idsÿscCs&t|jƒ\}}|j|ƒ|S(N(RýRR(RÓtobjR
((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pyt_nexts
cCs
|jƒS(N(R
(RÓ((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pyRýscCs
|jƒS(N(R
(RÓ((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pyRscCs|S(N((RÓ((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pyRüscCs|jS(N(R(RÓ((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pyRscCs|jS(N(R(RÓ((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pyRs(RƒRÿRûRR
RýRRüRHRR(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pyR	ùs						cCstjd„ƒ}|S(NcSst|||ŽƒS(N(R(RtinstanceR
R((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pytinners(twraptt	decorator(R((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pytadd_req_id_to_objectscCstjd„ƒ}|S(NcSst|||ŽƒS(N(R	(RRR
R((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pyR&s(RR(R((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pytadd_req_id_to_generator%scCs|jjdƒS(Nsx-openstack-request-id(theadersR=(R
((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pyR,s(sX-Auth-Token(sdisk_formatscontainer_format(?t
__future__RR·R)RÜRuRŠRÉtsix.moves.urllib.parsetmovesturllibtparseRÇRŽt	threadingRR>RGRÁR<t
oslo_utilsRRRXRtglanceclient._i18nRtglanceclientRtLockRçRítREQUIRED_FIELDS_ON_DATARR,RSRVRoR{RˆRŒRRRœR®R¼R RÒRZRÛRåRìRðRòR÷tobjectRøtObjectProxyRR	RRR(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/utils.pyt<module>sd		*H		"	
											%