This is an automated email from the ASF dual-hosted git repository. jky pushed a commit to branch 0.0.6 in repository https://gitbox.apache.org/repos/asf/flagon-distill.git
commit d53211c6b27d002b6ebb4c60748f3dba7e324420 Author: Evan Jones <[email protected]> AuthorDate: Tue Oct 3 16:34:16 2023 -0400 test(test_segment): adds specified default for the newline behavior on the exported csv in export_segment; changes the file opener in test_segment to a proper context manager so the file closes on context exit closes #37 --- distill/segmentation/segment.py | 51 ++++++++++++++++++++--------------------- tests/test_segment.py | 22 +++++++++--------- 2 files changed, 36 insertions(+), 37 deletions(-) diff --git a/distill/segmentation/segment.py b/distill/segmentation/segment.py index 4bcdef1..a8d4e5a 100644 --- a/distill/segmentation/segment.py +++ b/distill/segmentation/segment.py @@ -648,30 +648,29 @@ def export_segments(path, segments): :param segments: A Segments object containing Segment objects. """ - file = open(path, "w") - writer = csv.writer(file) - - # Populate the csv row by row - # TODO: Make sure this is the right format - header_row = [ - "Segment Name", - "Start Time", - "End Time", - "Number of Logs", - "Generate Field Name", - "Generate Matched Values", - "Segment Type", - ] - writer.writerow(header_row) - for segment in segments: - row = [ - segment.segment_name, - str(segment.start_end_val[0]), - str(segment.start_end_val[1]), - segment.num_logs, - segment.generate_field_name, - segment.generate_matched_values, - segment.segment_type, + with open(path, "w", newline="") as file: + writer = csv.writer(file) + + # Populate the csv row by row + # TODO: Make sure this is the right format + header_row = [ + "Segment Name", + "Start Time", + "End Time", + "Number of Logs", + "Generate Field Name", + "Generate Matched Values", + "Segment Type", ] - writer.writerow(row) - file.close() + writer.writerow(header_row) + for segment in segments: + row = [ + segment.segment_name, + str(segment.start_end_val[0]), + str(segment.start_end_val[1]), + segment.num_logs, + segment.generate_field_name, + segment.generate_matched_values, + segment.segment_type, + ] + writer.writerow(row) diff --git a/tests/test_segment.py b/tests/test_segment.py index 6b7eee7..5b01b0d 100644 --- a/tests/test_segment.py +++ b/tests/test_segment.py @@ -1421,17 +1421,17 @@ def test_export_segments(): distill.export_segments("./test.csv", result) # Read from file - file = open("./test.csv", "r") - lines = file.readlines() + with open("./test.csv", "r") as file: + lines = file.readlines() - assert len(lines) == 4 - assert ( - lines[0] - == "Segment Name,Start Time,End Time,Number of Logs,Generate Field" - " Name,Generate Matched Values,Segment Type\n" - ) - assert lines[1] == "0,1623691890459,1623691994888,7,,,Segment_Type.DEADSPACE\n" - assert lines[2] == "1,1623691991900,1623693994900,15,,,Segment_Type.DEADSPACE\n" - assert lines[3] == "2,1623693994550,1623697997550,3,,,Segment_Type.DEADSPACE\n" + assert len(lines) == 4 + assert ( + lines[0] + == "Segment Name,Start Time,End Time,Number of Logs,Generate Field" + " Name,Generate Matched Values,Segment Type\n" + ) + assert lines[1] == "0,1623691890459,1623691994888,7,,,Segment_Type.DEADSPACE\n" + assert lines[2] == "1,1623691991900,1623693994900,15,,,Segment_Type.DEADSPACE\n" + assert lines[3] == "2,1623693994550,1623697997550,3,,,Segment_Type.DEADSPACE\n" os.remove("./test.csv")
