Leaving this for now

This commit is contained in:
2025-12-17 15:05:40 -08:00
parent 6041d4158e
commit cf1b3fb42c
4 changed files with 30 additions and 2 deletions

View File

@@ -15,7 +15,7 @@ class EditList:
:func:`~pycmx.parse_cmx3600()`. :func:`~pycmx.parse_cmx3600()`.
""" """
def __init__(self, statements): def __init__(self, statements: list):
self.title_statement: StmtTitle = statements[0] self.title_statement: StmtTitle = statements[0]
self.event_statements = statements[1:] self.event_statements = statements[1:]
@@ -78,9 +78,11 @@ class EditList:
@property @property
def events(self) -> Generator[Event, None, None]: def events(self) -> Generator[Event, None, None]:
'A generator for all the events in the edit list' 'A generator for all the events in the edit list'
# breakpoint()
current_event_num = None current_event_num = None
event_statements = [] event_statements = []
for stmt in self.event_statements: for stmt in self.event_statements:
breakpoint()
if type(stmt) is StmtEvent: if type(stmt) is StmtEvent:
if current_event_num is None: if current_event_num is None:
current_event_num = stmt.event current_event_num = stmt.event

View File

@@ -54,7 +54,12 @@ def _parse_cmx3600_line(line: str, line_number: int) -> object:
return _parse_fcm(line, line_number) return _parse_fcm(line, line_number)
if line_matcher is not None: if line_matcher is not None:
event_field_len = len(line_matcher.group(1)) event_field_len = len(line_matcher.group(1))
source_field_len = len(line) - (event_field_len + 65) source_in_match = re.search(r'\d\d\:\d\d\:\d\d\:\d\d', line)
if not source_in_match:
return _parse_unrecognized(line, line_number)
source_field_len = source_in_match.start() - (event_field_len + 18)
# breakpoint()
return _parse_columns_for_standard_form(line, event_field_len, return _parse_columns_for_standard_form(line, event_field_len,
source_field_len, line_number) source_field_len, line_number)
if line.startswith("AUD"): if line.startswith("AUD"):
@@ -193,6 +198,7 @@ def _parse_unrecognized(line, line_number):
def _parse_columns_for_standard_form(line: str, event_field_length: int, def _parse_columns_for_standard_form(line: str, event_field_length: int,
source_field_length: int, source_field_length: int,
line_number: int): line_number: int):
# breakpoint()
col_widths = _edl_column_widths(event_field_length, source_field_length) col_widths = _edl_column_widths(event_field_length, source_field_length)
if sum(col_widths) > len(line): if sum(col_widths) > len(line):

View File

@@ -1 +1,2 @@
from . import test_parse from . import test_parse
from . import test_issue_19

19
tests/test_issue_19.py Normal file
View File

@@ -0,0 +1,19 @@
from unittest import TestCase
from pycmx import parse_cmx3600
class Issue19Test(TestCase):
def setUp(self):
self.f = open("tests/edls/ISSUE_19_unusual01.edl")
def test_parse(self):
edl = parse_cmx3600(self.f)
for event in edl.events:
self.assertIsNotNone(event.edits)
if event.number == 1:
self.assertEqual(len(event.edits), 1)
def tearDown(self):
self.f.close()