Files
controller-wisetopdataserver/python/biopro/devlib/__pycache__/encoder.cpython-37.opt-2.pyc
T

51 lines
6.3 KiB
Plaintext
Raw Normal View History

2021-12-20 14:52:55 +08:00
B
2021-12-22 14:29:56 +08:00
ñ0Àa½!ã@ddlZddlmZddlmZmZmZmZddl Tddl
2021-12-20 14:52:55 +08:00
m Z ddl m
Z
mZeded Zed
ed ZGd d d ƒZGd
2021-12-22 14:29:56 +08:00
dde ƒZdS)éN)ÚPath)ÚAnyÚDictÚUnionÚTypeVar)Ú*)Ú
2021-12-20 14:52:55 +08:00
JsonSerializeé)ÚDeviceConfigurationÚSimpleDeviceConfigurationÚE)ÚboundÚDc@eZdZdZdddZeedœddZeee e
fdœd d
Z ee e d œd d
Z
eedœddZee eeedœddƒZee eedœddƒZeee dœddƒZeeee dœddƒZdS)ÚDeviceConfigurationEncoder)Ú_all_parameterFcCs
||_dS)N)r)ÚselfZ
all_parameter©rú:/home/pi/wisetopdataserver/python/biopro/devlib/encoder.pyÚ__init__Osz#DeviceConfigurationEncoder.__init__)ÚreturncCs| |tƒ¡ ¡S)N)ÚwriteZ BytesEncoderÚget)rrrrrÚencodeRsz!DeviceConfigurationEncoder.encode)rÚfc Cs<t|tƒrt|ƒ}| d¡}| |t|ƒ¡WdQRXdS)wb)Ú
isinstanceÚstrrÚopenÚ_encodeÚ FileEncoder)rrrÚ_frrrÚdumpUs
 zDeviceConfigurationEncoder.dump)rÚercCs| ||¡|S)N)r)rrr#rrrr\s z DeviceConfigurationEncoder.write)rr#cCsN|jr|jdd}n| ¡}| t|ƒ¡x|D]}| ||||¡q0WdS)NT)Z list_hide)rÚkeysÚu8ÚlenÚ_encode_parameter)rrr#ÚpiÚnamerrrras 
z"DeviceConfigurationEncoder._encode)r)Úvaluer#cCsN| |¡|dkr | d¡n*t|tƒs4t|tƒržt|ƒ}|dkrP| d¡nL| |d¡}| d¡| | ¡¡| |¡xÈ|D]}|  |||¡q†Wn¬t|t
ƒrt|ƒ}|dkrÆ| d¡nR| t |ƒ  ¡¡}| d¡| | ¡¡| |¡xN|D]}|  |||¡qWn0| |¡}| d¡| | ¡¡|  |||¡dS)Ns0rsLóLsSó0)
Ú
encode_stringrrÚlistÚtupler&Ú _value_typerr%Ú
_encode_valueÚsetÚiterÚ__next__)Úclsr)r*r#ÚszÚparameter_typeÚvrrrr'ls6
 


  




z,DeviceConfigurationEncoder._encode_parameter)r8r*r#cCt|tƒr| |rdnd¡njt|tƒr4| |¡nTt|tƒrV| t d||¡¡n2t|t ƒrx| t d||¡¡nt
d|j j ƒdS)Nr rú>zunknown parameter value : )
rÚboolr%rr.ÚintrÚstructÚpackÚfloatÚ RuntimeErrorÚ __class__Ú__name__)r6r8r*r#rrrr2s

 

z(DeviceConfigurationEncoder._encode_value)r*rcCsTt|tƒrdSt|tƒrdSt|tƒr2| ||¡St|tƒr@dStd|jjƒdS)przunknown parameter value : ) rr;rr<Ú _number_typer?r@rArB)r6r*rrrr1¨s


 
z&DeviceConfigurationEncoder._value_type)Ú min_valueÚ max_valuercCsVtt|ƒt|ƒƒ}|dkr*|dkr&dSdS|dkrB|dkr>dSdS|dkrNdSd SdS)
NéÿrÚBiÿÿÚI)ÚmaxÚabs)r6rFrGr*rrrrE¹s z'DeviceConfigurationEncoder._number_typeN)F)rBÚ
__module__Ú __qualname__Ú __slots__rr
Úbytesrrrrr"r rÚAbstractEncoderrÚ classmethodÚOptionalrr'r2r1r<rErrrrr
s@
 *rc@eZdZdZddZeeeefe dœddƒZ
eee e fe dœddƒZ
eee d œd
d ƒZe d œd
dZeedd œddƒZee eedœddƒZddZdS)ÚDeviceConfigurationDecoder)Ú parametercCs
i|_dS)N)rY)rrrrrÊsz#DeviceConfigurationDecoder.__init__)rrc Csbt|tƒr:| d¡r2t|ƒ}tt |¡ƒSQRXt|ƒ}| d¡}| t |ƒ¡ 
¡SQRXdS)Nz.jsonÚrb) rrÚendswithrr Ú_jsonÚloadrÚ_decodeÚ FileDecoderÚ_as_configuration)r6rr!rrrr]Ís