diff --git a/ptulsconv/broadcast_timecode.py b/ptulsconv/broadcast_timecode.py index 46bbc78..a19de9d 100644 --- a/ptulsconv/broadcast_timecode.py +++ b/ptulsconv/broadcast_timecode.py @@ -29,6 +29,10 @@ def smpte_to_frame_count(smpte_rep_string: str, frames_per_logical_second: int, assert frames_per_logical_second in [24, 25, 30, 48, 50, 60] m = re.search("(\d?\d)[:;](\d\d)[:;](\d\d)([:;])(\d\d)(\.\d+)?", smpte_rep_string) + + if m is None: + return None + hh, mm, ss, sep, ff, frac = m.groups() hh, mm, ss, ff, frac = int(hh), int(mm), int(ss), int(ff), float(frac or 0.0) diff --git a/ptulsconv/docparser/doc_entity.py b/ptulsconv/docparser/doc_entity.py index 8fd1f76..04beb3e 100644 --- a/ptulsconv/docparser/doc_entity.py +++ b/ptulsconv/docparser/doc_entity.py @@ -21,7 +21,8 @@ class SessionDescriptor: def markers_timed(self) -> Iterator[Tuple['MarkerDescriptor', Fraction]]: for marker in self.markers: - marker_time = self.header.convert_timecode(marker.location) + marker_time = Fraction(marker.time_reference, int(self.header.sample_rate)) + #marker_time = self.header.convert_timecode(marker.location) yield marker, marker_time def tracks_clips(self) -> Iterator[Tuple['TrackDescriptor', 'TrackClipDescriptor']]: diff --git a/tests/functional/test_pdf_export.py b/tests/functional/test_pdf_export.py index 9232b82..5559473 100644 --- a/tests/functional/test_pdf_export.py +++ b/tests/functional/test_pdf_export.py @@ -8,21 +8,21 @@ import glob from ptulsconv import commands -# class TestBroadcastTimecode(unittest.TestCase): -# def test_report_generation(self): -# """ -# Setp through every text file in export_cases and make sure it can -# be converted into PDF docs without throwing an error -# """ -# for path in glob.glob(os.path.dirname(__file__) + "/../export_cases/*.txt"): -# tempdir = tempfile.TemporaryDirectory() -# os.chdir(tempdir.name) -# try: -# commands.convert(path, major_mode='doc') -# except: -# assert False, "Error processing file %s" % path -# finally: -# tempdir.cleanup() +class TestBroadcastTimecode(unittest.TestCase): + def test_report_generation(self): + """ + Setp through every text file in export_cases and make sure it can + be converted into PDF docs without throwing an error + """ + # for path in glob.glob(os.path.dirname(__file__) + "/../export_cases/*.txt"): + # tempdir = tempfile.TemporaryDirectory() + # os.chdir(tempdir.name) + # try: + # commands.convert(path, major_mode='doc') + # except: + # assert False, "Error processing file %s" % path + # finally: + # tempdir.cleanup() diff --git a/tests/unittests/test_tag_compiler.py b/tests/unittests/test_tag_compiler.py index 78c6b2e..db4e4fb 100644 --- a/tests/unittests/test_tag_compiler.py +++ b/tests/unittests/test_tag_compiler.py @@ -97,14 +97,14 @@ class TestTagCompiler(unittest.TestCase): markers = [doc_entity.MarkerDescriptor(number=1, location="01:00:00:00", - time_reference=48000 * 60, + time_reference=48000 * 3600, units="Samples", name="Marker 1 {Part=1}", comments="" ), doc_entity.MarkerDescriptor(number=2, location="01:00:01:00", - time_reference=48000 * 61, + time_reference=48000 * 3601, units="Samples", name="Marker 2 {Part=2}", comments="[M1]"