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

115 lines
15 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§Nã@ddlmZddlTddlTddlTddlTGdddeejdZ GdddeƒZ
2021-12-20 14:52:55 +08:00
Gd d
d
e ƒZ Gd d d e e e ƒZ
Gd
2021-12-22 14:29:56 +08:00
ddejdZGdddƒZGdddeeƒZdS)é)ÚPathé)Ú*c@sVeZdZdZejedœddƒZejee ddœddƒZ
2021-12-20 14:52:55 +08:00
eje ddœd d
ƒZ d S) Ú MatchRule©)ÚreturncCsdS)Nr)Úselfrrú9/home/pi/wisetopdataserver/python/biopro/devlib/header.pyÚbaseline_serialszMatchRule.baseline_serialÚDeviceMatchRule)ÚdevicercCsdS)Nr)rr rrr Úis_device_matchszMatchRule.is_device_matchcCsdS)Nr)rrrr Ú__iter__!szMatchRule.__iter__N)
Ú__name__Ú
__module__Ú __qualname__Ú __slots__ÚabcÚabstractmethodÚDeviceSerialNumberr
ÚDeviceResponseInfoÚOptionalr
ÚIterablerrrrr r sr)Ú metaclassc@sheZdZdZeeeedœddZeedœddƒZeeedœdd „ƒZ ee
d
œd d Z d
dZ dS)ÚNumberMatchExpression)Ú _from_numberÚ
_to_number)Ú from_numberÚ to_numbercCs||_||_dS)N)rr)rrrrrr Ú__init__8szNumberMatchExpression.__init__)rcCs|jdk r|jSdS)Nr)r)rrrr r@sz!NumberMatchExpression.from_numbercCs|jS)N)r)rrrr rDszNumberMatchExpression.to_number)ÚvaluercCsD|jdkr|jdkrdS|jdks,|j|ko>|jdkp>||jkSdS)NT)rr)rr rrr ÚtestHszNumberMatchExpression.testcCsV|jdkr|jdkrdS|j|jkr*|jS|jdkr8dn|j|jdkrJdn|jgSdS)Nr)rr)rrrr Úas_jsonQs  zNumberMatchExpression.as_jsonN)
rrrrrÚintrÚpropertyrrÚboolr!r"rrrr r&s rc @eZdZdZdeeeeeeeeeedœddZeedœddƒZ eedœd d
ƒZ
eedœd d ƒZ eedœd
dƒZ eeedœddƒZ
eeedœddƒZeeedœddƒZedœddZeeddœddZeddœddZddZdS)r )Ú_p1Ú_p2Ú_v1Ú_v2Ú_s1Ú_s2Ú_patternN)Úmajor_product_numberÚminor_product_numberÚmajor_version_numberÚminor_version_numberÚserial_year_numberÚserial_month_numberÚlocal_name_patterncCsD||_||_||_||_||_||_||_|jdk r@t |j¡dS)N) r&r'r(r)r*r+r,ÚreÚcompile)rr-r.r/r0r1r2r3rrr rrs
zDeviceMatchRule.__init__)rcCs|jS)N)r&)rrrr r-sz$DeviceMatchRule.major_product_numbercCs|jS)N)r')rrrr r.˜sz$DeviceMatchRule.minor_product_numbercCs|jS)N)r()rrrr r/Ÿsz$DeviceMatchRule.major_version_numbercCs|jS)N)r))rrrr r0¦sz$DeviceMatchRule.minor_version_numbercCs|jS)N)r*)rrrr r1­sz"DeviceMatchRule.serial_year_numbercCs|jS)N)r+)rrrr r2´sz#DeviceMatchRule.serial_month_numbercCs|jS)N)r,)rrrr r3»sz"DeviceMatchRule.local_name_patterncCs^|jj}|jj}|jj}|jj}|jdk r2|jjnd}|jdk rH|jjnd}t||||||ƒS)Nr)r&rr'r(r)r*r+r)rÚp1Úp2Úv1Úv2Ús1Ús2rrr r
ÂszDeviceMatchRule.baseline_serial)r rcC|j}|j |j¡sdS|j |j¡s*dS|j |j¡s<dS|j |j ¡sNdS|j
dk rj|j
 |j ¡sjdS|j dk r†|j  |j
¡s†dS|jdk r²|jdk r²t |j|j¡dkr²dS|S)N)Ú
serial_numberr&r!r-r'r.r(r/r)r0r*r1r+r2Ú device_namer,r4Úmatch)rr Úserialrrr r
Ìs$

zDeviceMatchRule.is_device_matchccs
|VdS)Nr)rrrr rèszDeviceMatchRule.__iter__cCsn|j ¡|j ¡|j ¡|j ¡dœ}|jdk r>|j ¡|d<|jdk rV|j ¡|d<|jdk rj|j|d<|S)N)r-r.r/r0r1r2r3)r&r"r'r(r)r*r+r,)rÚretrrr r"ës



zDeviceMatchRule.as_json)NNN)rrrrrrÚstrrr$r-r.r/r0r1r2r3rr
rr
rrr"rrrr r ]s,(
r cs^eZdZdZeedœfdd ZedœddZe e
edœd d
Z ed dœd d
Z Z
S)Ú
ListMatchRuler)Úrulescstƒ |¡dS)N)Úsuperr)rrC)Ú __class__rr r szListMatchRule.__init__)rcCs| d¡ ¡S)Nr)Ú __getitem__r
)rrrr r
szListMatchRule.baseline_serial)r rcCs x|D]}| |¡r|SqWdS)N)r
)rr Úrulerrr r
s

zListMatchRule.is_device_matchr cCs
t|jƒS)N)ÚiterÚ_list)rrrr rszListMatchRule.__iter__)rrrrrr rrr
rrr
rÚ
__classcell__rr)rEr rBÿs
 rBc@sHeZdZdZdZddZejee dœddƒZ
e ee ddœd d
ƒZ d S) ÚAbstractLibraryLoaderr)ÚfileÚnameÚversionÚ
match_ruleÚconstantÚ parameterÚ instructioncCs@d|_d|_tdddƒ|_tgƒ|_tj|_t ƒ|_
t ƒ|_ dS)r)
rLrMÚDeviceLibraryVersionrNrBrOÚ
ConstantScopeÚEMPTYrPÚParameterTablerQÚInstructionTablerR)rrrr r%s
zAbstractLibraryLoader.__init__)ÚpathÚjsoncCsdS)Nr)rrYrZrrr Ú
parse_library.sz#AbstractLibraryLoader.parse_library)rYrZrcCsFt|dtdd|jd}|dkr&tƒ}ntdt|ƒƒ| ||¡|S)
specificationr T)ÚnullableÚdefaultrz+unsupported library specification number : )Ú_getr#Ú
SPECIFICATIONÚLibraryLoader1Ú RuntimeErrorrAr[)ÚclsrYrZr\r@rrr Úparse2s  zAbstractLibraryLoader.parseN)
rrrr`rrrrrÚ JSON_OBJECTr[Ú classmethodrdrrrr rK s rKc@eZdZdZeddœddZeddœddZeedœd d
Z ee
dœd d Z e e
dœd
dZe e
edœddZee e
edœddZe ddœddZee ddœddZeeedœddZee edœddZee edœd d!„Ze edœd"d#„Zd$S)%ÚDefaultLibraryLoaderrr)rZrcCs<t|tƒr| |¡St|tƒr(| |¡Stdt|ƒƒdS)Nznot a device match rule : )Ú
isinstanceÚlistÚparse_match_rule_listÚdictÚparse_match_rule_devicerbÚ _truncate)rrZrrr Úparse_match_ruleEs




z%DefaultLibraryLoader.parse_match_rulerBcCstt||jƒƒS)N)rBrIrl)rrZrrr rjOsz*DefaultLibraryLoader.parse_match_rule_listc Ct|tƒstdt|ƒƒt|dddƒ}t|dddƒ}t|dddƒ}t|dddƒ}t|ddddd }t|d
dddd }t|d tddd }t| |¡| |¡| |¡| |¡|dk r¼| |¡nd|dk rÐ| |¡nd|d S)
Nznot a device match rule : r-zdevice match ruler.r/r0r1T)r]r2r3)r3)rhrkÚ TypeErrorrmr_rAr Úparse_match_rule_expr) rrZr6r7r8r9r:r;Úpatternrrr rlRs 

z,DefaultLibraryLoader.parse_match_rule_devicec
C|dkrtddƒSt|tƒr&t||ƒSt|tƒr¸t|ƒdkrFtdƒqÈ|d}|d}y*t|dkrfdnt|ƒ|dkrxdnt|ƒƒStk
r´}ztdt|ƒƒ|Wdd}~XYqÈXntdt|ƒƒdS)Nréz)illegal NumberMatchExpression list lengthrrz&illegal NumberMatchExpression value : z%illegal NumberMatchExpression type : )rrhr#riÚlenrbÚ
ValueErrorrm)rrZÚerrr rpfs



 
&z*DefaultLibraryLoader.parse_match_rule_exprcCst|ƒS)N)rU)rrZrrr Úparse_constant_pool|sz(DefaultLibraryLoader.parse_constant_pool)rZrPrcs@t|fddƒ}x"tjD]}||krtd|ƒqWt|ƒS)Ncsˆ ||ˆ¡S)N)Úparse_parameter_info)Úv)rPrrr Ú<lambda>€óz<DefaultLibraryLoader.parse_parameter_table.<locals>.<lambda>zlost required parameter : )Ú_dictÚ
ParameterInfoÚREQUIREDrbrW)rrZrPÚ
parametersÚrequiredr)rPrr Úparse_parameter_tables
 z*DefaultLibraryLoader.parse_parameter_table)rMrZrPrc
Cst|dtddd}t|dtdddd}t|dtdddd}t|d tddd}t|d
dddd}|dk rvt |¡ |¡}t|d dddd} t|d dddd}
|
dk ràt |
¡}
| dkrÊt|
tƒrÊd
t|
ƒg} t|
tƒràt t
|
ƒƒ}
| dk röt  | |¡} n |dk rt } nt
dt|ƒƒt|dttfddd} t| tƒrBt | ¡} t|ddddd} t| tƒrh| g} n6t| t
ƒr„dd| Dƒ} n| dk ržt
dt| ƒƒt|ddddd}
t|
t
ƒrÈt |
¡}
n|
dk râtt |