You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flagon.apache.org by jk...@apache.org on 2023/10/04 17:38:36 UTC

[flagon-distill] 05/06: 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

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 <ev...@gmail.com>
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")