Ńň i'dWc@słdZddkZddklZddkZddklZlZd„Z d„Z d„Z d„Z d „Z d „Zhe ei6e ei6d „ei6ee eiƒei6e ei6eei6ee eiƒei6ee eiƒei6ee eiƒei6ee eiƒei6ee eiƒei6ee ei ƒei!6ee ei"ƒei#6ee ei$ƒei%6ee ei&ƒei'6ee ei(ƒei)6ee ei*ƒei+6ee ei,ƒei-6ee ei.ƒei/6ee ei0ƒei16ee ei2ƒei36ee ei4ƒei56ee ei6ƒei76ee ei8ƒei96ee ei:ƒei;6ee ei<ƒei=6ee ei>ƒei?6ee ei@ƒeiA6ZBdS( s Provide thin wrappers around C functions for retrieving values from an nvpairp VALUE: each key maps to a function with this signature: function(nvpairp) -> value value will be the appropriate Python type, e.g. VALUE[DATA_TYPE_BOOLEAN](nvpairp) -> bool For C funtions that are of DATA_TYPE *_ARRAY, the value returned is a tuple of the Python type. i˙˙˙˙N(tpartial(tcfunctconstcCstdƒ‚dS(Ns+nvpairp "DATA_TYPE_UNKNOWN" can't get vaule(t RuntimeError(tnvp((s ../value.pytnvp_value_unknown-scCstdƒ‚dS(Ns*nvpairp "DATA_TYPE_HRTIME" not implemented(tNotImplementedError(R((s ../value.pytnvp_value_hrtime3scCs|idiƒ}||ti|ƒƒ}|djo)t|d|iti|ƒfƒ‚nt|dƒo|i S|SdS(s;mostly does what is right for any nvpair_value_*() functioniis%s(): %stvalueN( targtypest_type_tCtbyreftOSErrort__name__toststrerrorthasattrR(t cfunctionRRterr((s ../value.pyt nvp_scalar7s )cCsttti|ƒƒS(s$nvp_value_boolean_value(nvp) -> bool(tboolRRtnvpair_value_boolean_value(R((s ../value.pytnvp_value_boolean_valueEscCsˇtiƒ}|idiƒ}||ti|ƒti|ƒƒ}|djo)t|d|iti|ƒfƒ‚nt ƒ}x(t |i ƒD]}|i ||ƒq’Wt |ƒS(sK mostly does what is right for any nvpair_value_*_array() function iis%s(): %s(R tc_uintR R R R RRRtlisttxrangeRtappendttuple(RRtnelemtpvalueRtrlisttidx((s ../value.pyt nvp_arrayJs $ ) cCs%tti|ƒ}ttt|ƒƒS(s)value_boolean_array(nvp) -> tuple of bool(R!Rtnvpair_value_boolean_arrayRtmapR(Rtret((s ../value.pytnvp_value_boolean_array[scCstS((tTrue(R((s ../value.pytds(Ct__doc__tctypesR t functoolsRRt libnvpairRRRRRRR!R%tDATA_TYPE_UNKNOWNtDATA_TYPE_HRTIMEtDATA_TYPE_BOOLEANtnvpair_value_doubletDATA_TYPE_DOUBLEtDATA_TYPE_BOOLEAN_VALUEtDATA_TYPE_BOOLEAN_ARRAYtnvpair_value_bytetDATA_TYPE_BYTEtnvpair_value_byte_arraytDATA_TYPE_BYTE_ARRAYtnvpair_value_int8tDATA_TYPE_INT8tnvpair_value_int8_arraytDATA_TYPE_INT8_ARRAYtnvpair_value_int16tDATA_TYPE_INT16tnvpair_value_int16_arraytDATA_TYPE_INT16_ARRAYtnvpair_value_int32tDATA_TYPE_INT32tnvpair_value_int32_arraytDATA_TYPE_INT32_ARRAYtnvpair_value_int64tDATA_TYPE_INT64tnvpair_value_int64_arraytDATA_TYPE_INT64_ARRAYtnvpair_value_uint8tDATA_TYPE_UINT8tnvpair_value_uint8_arraytDATA_TYPE_UINT8_ARRAYtnvpair_value_uint16tDATA_TYPE_UINT16tnvpair_value_uint16_arraytDATA_TYPE_UINT16_ARRAYtnvpair_value_uint32tDATA_TYPE_UINT32tnvpair_value_uint32_arraytDATA_TYPE_UINT32_ARRAYtnvpair_value_uint64tDATA_TYPE_UINT64tnvpair_value_uint64_arraytDATA_TYPE_UINT64_ARRAYtnvpair_value_stringtDATA_TYPE_STRINGtnvpair_value_string_arraytDATA_TYPE_STRING_ARRAYtnvpair_value_nvlisttDATA_TYPE_NVLISTtnvpair_value_nvlist_arraytDATA_TYPE_NVLIST_ARRAYtVALUE(((s ../value.pyt%s|