From c3a600c5d77f15e637bb5ed65b980bbea737ca65 Mon Sep 17 00:00:00 2001 From: Jamie Hardt Date: Sat, 17 May 2025 12:05:27 -0700 Subject: [PATCH] Integrated track marker test case and fixed parser --- ptulsconv/docparser/pt_doc_parser.py | 8 ++++---- tests/export_cases/Test for ptulsconv.txt | 2 +- tests/functional/test_pdf_export.py | 8 ++++++-- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/ptulsconv/docparser/pt_doc_parser.py b/ptulsconv/docparser/pt_doc_parser.py index f5e9edf..5211118 100644 --- a/ptulsconv/docparser/pt_doc_parser.py +++ b/ptulsconv/docparser/pt_doc_parser.py @@ -86,8 +86,8 @@ protools_text_export_grammar = Grammar( "COMMENTS" rs marker_record = integer_value isp fs string_value fs integer_value isp fs - string_value fs string_value fs (string_value fs - string_value fs)? string_value rs + string_value fs string_value fs + (string_value fs string_value fs)? string_value rs fs = "\t" rs = "\n" @@ -245,8 +245,8 @@ class DocParserVisitor(NodeVisitor): @staticmethod def visit_marker_record(_, visited_children): is_track_marker = False - if isinstance(visited_children[12], list): - is_track_marker = visited_children[12][2] == "Track" + if isinstance(visited_children[12][0], list): + is_track_marker = visited_children[12][0][2] == "Track" return MarkerDescriptor(number=visited_children[0], location=visited_children[3], diff --git a/tests/export_cases/Test for ptulsconv.txt b/tests/export_cases/Test for ptulsconv.txt index b948a8c..ec9d101 100644 --- a/tests/export_cases/Test for ptulsconv.txt +++ b/tests/export_cases/Test for ptulsconv.txt @@ -20,5 +20,5 @@ CHANNEL EVENT CLIP NAME START TIME END TIME D M A R K E R S L I S T I N G # LOCATION TIME REFERENCE UNITS NAME TRACK NAME TRACK TYPE COMMENTS -1 00:00:00:00 0 Samples $Title=Multiple Marker Rulers Project Markers Ruler +1 00:00:00:00 0 Samples {Title=Multiple Marker Rulers Project} Markers Ruler 2 00:00:04:00 192192 Samples Track Marker Hamlet Track diff --git a/tests/functional/test_pdf_export.py b/tests/functional/test_pdf_export.py index 2a7e49b..5f6ae18 100644 --- a/tests/functional/test_pdf_export.py +++ b/tests/functional/test_pdf_export.py @@ -2,6 +2,7 @@ import unittest import tempfile +import sys import os.path import os import glob @@ -15,14 +16,17 @@ class TestPDFExport(unittest.TestCase): be converted into PDF docs without throwing an error """ files = [os.path.dirname(__file__) + "/../export_cases/Robin Hood Spotting.txt"] - #files.append(os.path.dirname(__file__) + "/../export_cases/Robin Hood Spotting2.txt") + files.append(os.path.dirname(__file__) + "/../export_cases/Test for ptulsconv.txt") for path in files: tempdir = tempfile.TemporaryDirectory() os.chdir(tempdir.name) try: commands.convert(input_file=path, major_mode='doc') except: - assert False, "Error processing file %s" % path + print("Error in test_report_generation") + print(f"File: {path}") + print(repr(sys.exception())) + raise sys.exception() finally: tempdir.cleanup()