Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
if line.startswith(
"[END_DESC_MSG]") or line.startswith("[END_DESC]"):
mode = ''
else:
(bo_id, tem_s, comment) = line.split(' ', 2)
comment = comment.replace('"', '').replace(';', '')
frame = db.frame_by_id(canmatrix.ArbitrationId.from_compound_integer(int(bo_id)))
if frame:
frame.add_comment(comment)
elif mode == 'ParamMsgVal':
if line.startswith("[END_PARAM_MSG_VAL]"):
mode = ''
else:
(bo_id, tem_s, attrib, value) = line.split(',', 3)
db.frame_by_id(canmatrix.ArbitrationId.from_compound_integer(
int(bo_id))).add_attribute(
attrib.replace('"', ''),
value.replace('"', ''))
elif mode == 'ParamNodeVal':
if line.startswith("[END_PARAM_NODE_VAL]"):
mode = ''
else:
(bu, attrib, value) = line.split(',', 2)
db.ecu_by_name(bu).add_attribute(
attrib.replace('"', ''), value[1:-1])
elif mode == 'ParamNetVal':
if line.startswith("[END_PARAM_NET_VAL]"):
mode = ''
else:
temp_array = temp_str.split(',')
(name, arb_id, size, n_signals, dummy) = temp_array[0:5]
if len(temp_array) > 5:
extended = temp_array[5]
else:
extended = None
if len(temp_array) > 6:
transmitters = temp_array[6].split()
else:
transmitters = list()
new_frame = db.add_frame(
canmatrix.Frame(
name,
size=int(size),
transmitters=transmitters))
new_frame.arbitration_id = canmatrix.ArbitrationId.from_compound_integer(int(arb_id))
# Frame(int(Id), name, size, transmitter))
if extended == 'X':
logger.debug("Extended")
new_frame.arbitration_id.extended = True
if line.startswith("[NODE]"):
temp_str = line.strip()[6:].strip()
bo_list = temp_str.split(',')
for bo in bo_list:
db.add_ecu(canmatrix.Ecu(bo))
if line.startswith("[START_SIGNALS]"):
temp_str = line.strip()[15:].strip()
temp_array = temp_str.split(',')
(name, size, start_byte, start_bit, sign, max_val, min_val, byteorder,
offset, factor, unit, multiplex) = temp_array[0:12]
frame.is_complex_multiplexed = True
elif decoded.startswith("BO_TX_BU_ "):
regexp = re.compile(r"^BO_TX_BU_ ([0-9]+) *: *(.+) *;")
temp = regexp.match(decoded)
frame = get_frame_by_id(canmatrix.ArbitrationId.from_compound_integer(int(temp.group(1))))
for ecu_name in temp.group(2).split(','):
frame.add_transmitter(ecu_name)
elif decoded.startswith("CM_ SG_ "):
pattern = r"^CM_ +SG_ +(\w+) +(\w+) +\"(.*)\" *;"
regexp = re.compile(pattern)
regexp_raw = re.compile(pattern.encode(dbc_import_encoding))
temp = regexp.match(decoded)
temp_raw = regexp_raw.match(l)
if temp:
frame = get_frame_by_id(canmatrix.ArbitrationId.from_compound_integer(int(temp.group(1))))
signal = frame.signal_by_name(temp.group(2))
if signal:
try:
signal.add_comment(temp_raw.group(3).decode(
dbc_comment_encoding).replace('\\"', '"'))
except:
logger.error(
"Error decoding line: %d (%s)" %
(i, line))
else:
pattern = r"^CM_ +SG_ +(\w+) +(\w+) +\"(.*)"
regexp = re.compile(pattern)
regexp_raw = re.compile(pattern.encode(dbc_import_encoding))
temp = regexp.match(decoded)
temp_raw = regexp_raw.match(l)
if temp:
if signal:
try:
signal.add_comment(temp_raw.group(3).decode(
dbc_comment_encoding).replace('\\"', '"'))
except:
logger.error(
"Error decoding line: %d (%s)" %
(i, line))
else:
pattern = r"^CM_ +SG_ +(\w+) +(\w+) +\"(.*)"
regexp = re.compile(pattern)
regexp_raw = re.compile(pattern.encode(dbc_import_encoding))
temp = regexp.match(decoded)
temp_raw = regexp_raw.match(l)
if temp:
frame = get_frame_by_id(canmatrix.ArbitrationId.from_compound_integer(int(temp.group(1))))
signal = frame.signal_by_name(temp.group(2))
try:
comment = temp_raw.group(3).decode(
dbc_comment_encoding).replace('\\"', '"')
except:
logger.error(
"Error decoding line: %d (%s)" %
(i, line))
follow_up = _FollowUps.SIGNAL_COMMENT
elif decoded.startswith("CM_ BO_ "):
pattern = r"^CM_ +BO_ +(\w+) +\"(.*)\" *;"
regexp = re.compile(pattern)
regexp_raw = re.compile(pattern.encode(dbc_import_encoding))
temp = regexp.match(decoded)
temp_raw = regexp_raw.match(l)