${subObjectIdsV} Run Keyword If "${return}"!="FAIL" and "${subObjectIds}"!="${EMPTY}" and "${subObjectIds}"!="${None}" Evaluate list(map(int, re.split('[,]', '${subObjectIds}'))) re
Set To Dictionary ${obj} addrType=${addrType} protocol=${protocol} direction=${direction} isSession=${values}[3]
${cfgs} Evaluate re.split('[&]', '${right}') re
${client} Set Variable ${cfgs}[0]
${server} Set Variable ${cfgs}[1]
${cValues} Evaluate re.split('[|]', '${client}') re
${sValues} Evaluate re.split('[|]', '${server}') re
${clientPort1} Evaluate int(re.split('[/]', '${cValues}[3]')[0]) re
${clientPort2} Evaluate int(re.split('[/]', '${cValues}[3]')[1]) re
${serverPort1} Evaluate int(re.split('[/]', '${sValues}[3]')[0]) re
${serverPort2} Evaluate int(re.split('[/]', '${sValues}[3]')[1]) re
Set To Dictionary ${obj} clientIpFormat=${cValues}[0] clientIp1=${cValues}[1] clientIp2=${cValues}[2] clientPortFormat=range clientPort1=${clientPort1} clientPort2=${clientPort2}
Set To Dictionary ${obj} serverIpFormat=${sValues}[0] serverIp1=${sValues}[1] serverIp2=${sValues}[2] serverPortFormat=range serverPort1=${serverPort1} serverPort2=${serverPort2}
Set To Dictionary ${obj} addrType=${addrType} protocol=${protocol} direction=${direction} isSession=${values}[3]
${cValues} Evaluate re.split('[|]', '${client}') re
${clientPort1} Evaluate int(re.split('[/]', '${cValues}[3]')[0]) re
${clientPort2} Evaluate int(re.split('[/]', '${cValues}[3]')[1]) re
Set To Dictionary ${obj} clientIpFormat=${cValues}[0] clientIp1=${cValues}[1] clientIp2=${cValues}[2] clientPortFormat=range clientPort1=${clientPort1} clientPort2=${clientPort2}
# 设置默认值
Set To Dictionary ${obj} serverIpFormat=range serverIp1= serverIp2= serverPortFormat=range serverPort1=${0} serverPort2=${0}
${cValues} Evaluate re.split('[|]', '${client}') re
${sValues} Evaluate re.split('[|]', '${server}') re
${clientPort1} Evaluate int(re.split('[/]', '${cValues}[3]')[0]) re
${clientPort2} Evaluate int(re.split('[/]', '${cValues}[3]')[1]) re
${serverPort1} Evaluate int(re.split('[/]', '${sValues}[3]')[0]) re
${serverPort2} Evaluate int(re.split('[/]', '${sValues}[3]')[1]) re
Set To Dictionary ${obj} clientIpFormat=${cValues}[0] clientIp1=${cValues}[1] clientIp2=${cValues}[2] clientPortFormat=range clientPort1=${clientPort1} clientPort2=${clientPort2}
Set To Dictionary ${obj} serverIpFormat=${sValues}[0] serverIp1=${sValues}[1] serverIp2=${sValues}[2] serverPortFormat=range serverPort1=${serverPort1} serverPort2=${serverPort2}
Run Keyword If ':' in '${str}' Set To Dictionary ${obj} addrType=${6}
... ELSE Set To Dictionary ${obj} addrType=${4}
Set To Dictionary ${obj} protocol=${0} direction=${0} isSession=endpoint
${cValues} Evaluate re.split('[|]', '${str}') re
${clientPort1} Evaluate int(re.split('[/]', '${cValues}[3]')[0]) re
${clientPort2} Evaluate int(re.split('[/]', '${cValues}[3]')[1]) re
Set To Dictionary ${obj} clientIpFormat=${cValues}[0] clientIp1=${cValues}[1] clientIp2=${cValues}[2] clientPortFormat=range clientPort1=${clientPort1} clientPort2=${clientPort2}
# 设置默认值
Set To Dictionary ${obj} serverIpFormat=range serverIp1= serverIp2= serverPortFormat=range serverPort1=${0} serverPort2=${0}
OtherParams ${cValues} ${obj}
[Return] ${obj}
AnalysisStrItem
[Arguments] ${str} ${flag}
${obj} Create Dictionary
${list} Evaluate re.split('[|]', '${str}') re
# keywordArray
${keywords} KeywordsForEach ${list}[0]
Set To Dictionary ${obj} keywordArray=${keywords}
# district
Run Keyword If '${flag}'=='${True}' Set To Dictionary ${obj} district=${list}[1]
${index} Run Keyword If '${flag}'=='${True}' Set Variable ${2}
... ELSE Set Variable ${1}
# isHexbin
${return} ${isHexBin} Run Keyword And Ignore Error Convert To Integer ${list}[${index}]
Run Keyword If "${return}"!="FAIL" and "${isHexBin}"!="${EMPTY}" Set To Dictionary ${obj} isHexbin=${isHexBin}
... ELSE Set To Dictionary ${obj} isHexbin=${0}
# isInitialize、itemName、itemDesc
${return} ${isInitialize} Run Keyword And Ignore Error Convert To Integer ${list}[${index+1}]
Run Keyword If "${return}"!="FAIL" and "${isInitialize}"!="${EMPTY}" Set To Dictionary ${obj} isInitialize=${isInitialize}
${return} ${itemName} Run Keyword And Ignore Error Set Variable ${list}[${index+2}]
Run Keyword If "${return}"!="FAIL" and "${itemName}"!="${EMPTY}" Set To Dictionary ${obj} itemName=${itemName}
${return} ${itemDesc} Run Keyword And Ignore Error Set Variable ${list}[${index+3}]
Run Keyword If "${return}"!="FAIL" and "${itemDesc}"!="${EMPTY}" Set To Dictionary ${obj} itemDesc=${itemDesc}
[Return] ${obj}
KeywordsForEach
# 处理多关键字keyword1&keyword2&...
[Arguments] ${str}
${returnList} Create List
${list} Evaluate re.split('[&]', '${str}') re
FOR ${var} IN @{list}
Append To List ${returnList} ${var}
END
[Return] ${returnList}
OtherParams
[Documentation]
... 处理isInitialize、itemName、itemDesc参数
[Arguments] ${values} ${obj}
${return} ${isInitialize} Run Keyword And Ignore Error Convert To Integer ${values}[4]
Run Keyword If "${return}"!="FAIL" and "${isInitialize}"!="${EMPTY}" Set To Dictionary ${obj} isInitialize=${isInitialize}
${return} ${itemName} Run Keyword And Ignore Error Set Variable ${values}[5]
Run Keyword If "${return}"!="FAIL" and "${itemName}"!="${EMPTY}" Set To Dictionary ${obj} itemName=${itemName}
${return} ${itemDesc} Run Keyword And Ignore Error Set Variable ${values}[6]
Run Keyword If "${return}"!="FAIL" and "${itemDesc}"!="${EMPTY}" Set To Dictionary ${obj} itemDesc=${itemDesc}