Skip to content

Commit 54a29f1

Browse files
committed
integrate fix from #492
1 parent 1f4e65e commit 54a29f1

File tree

1 file changed

+34
-10
lines changed

1 file changed

+34
-10
lines changed

src/canmatrix/formats/csv.py

+34-10
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import sys
3232
import typing
3333
from builtins import *
34+
import re
3435

3536
import canmatrix.formats.xls_common
3637

@@ -92,7 +93,7 @@ def write_ecu_matrix(ecu_name_list, sig, frame, row, col):
9293
elif ecu_name in frame.transmitters:
9394
row[col] = "s"
9495
else:
95-
pass
96+
row[col] = ""
9697
col += 1
9798
return col
9899

@@ -116,7 +117,7 @@ def dump(db, file_object, delimiter=',', **options):
116117
'is signed']
117118
head_tail = ['Name / Phys. Range', 'Function / Increment Unit', 'Value']
118119

119-
additional_signal_columns = options.get("additionalSignalAttributes", "").split(",")
120+
additional_signal_columns = options.get("additionalAttributes", "").split(",")
120121
additional_frame_columns = options.get("additionalFrameAttributes", "").split(",")
121122
motorola_bit_format = options.get("xlsMotorolaBitFormat", "msbreverse")
122123

@@ -195,10 +196,23 @@ def dump(db, file_object, delimiter=',', **options):
195196
signal_row += ("s" if sig.is_signed else "u")
196197

197198
col = head_top.__len__()
198-
write_ecu_matrix(ecu_name_list, sig, frame, signal_row, col)
199+
col = write_ecu_matrix(ecu_name_list, sig, frame, signal_row, col)
200+
201+
if float(sig.min) != 0 or float(sig.max) != 1.0:
202+
back.insert(0, str("%g..%g" % (sig.min, sig.max))) # type: ignore
203+
elif float(sig.min) == 0 and float(sig.max) == 1.0:
204+
back.insert(0, str("%g..%g" % (sig.min, sig.max))) # type: ignore
205+
else:
206+
back.insert(0, "")
207+
'''
208+
back += additional_frame_info
209+
for item in additional_signal_columns:
210+
temp = getattr(sig, item, "")
211+
back.append(temp)
212+
'''
213+
temp = ", ".join(["{}: {}".format(a, b) for (a, b) in sig.values.items()])
214+
back.append(temp)
199215
signal_row += back
200-
# write Value
201-
signal_row += [val, sig.values[val]]
202216

203217
signal_row += additional_frame_info
204218
for item in additional_signal_columns:
@@ -219,13 +233,23 @@ def dump(db, file_object, delimiter=',', **options):
219233
signal_row += ("s" if sig.is_signed else "u")
220234

221235
col = head_top.__len__()
222-
write_ecu_matrix(ecu_name_list, sig, frame, signal_row, col)
223-
signal_row += back
236+
col = write_ecu_matrix(ecu_name_list, sig, frame, signal_row, col)
224237

225-
if sig.min is not None or sig.max is not None:
226-
signal_row += [str("{}..{}".format(sig.min, sig.max))]
238+
if float(sig.min) != 0 or float(sig.max) != 1.0:
239+
back.insert(0, str("%g..%g" % (sig.min, sig.max))) # type: ignore
240+
elif float(sig.min) == 0 and float(sig.max) == 1.0:
241+
back.insert(0, str("%g..%g" % (sig.min, sig.max))) # type: ignore
227242
else:
228-
signal_row += [""]
243+
back.insert(0, "")
244+
'''
245+
back += additional_frame_info
246+
for item in additional_signal_columns:
247+
temp = getattr(sig, item, "")
248+
back.append(temp)
249+
'''
250+
temp = ", ".join(["{}: {}".format(a, b) for (a, b) in sig.values.items()])
251+
back.append(temp)
252+
signal_row += back
229253

230254
signal_row += additional_frame_info
231255
for item in additional_signal_columns:

0 commit comments

Comments
 (0)