mirror of
https://github.com/iluvcapra/pycmx.git
synced 2025-12-31 08:50:54 +00:00
Leaving this for now
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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):
|
||||||
|
|||||||
@@ -1 +1,2 @@
|
|||||||
from . import test_parse
|
from . import test_parse
|
||||||
|
from . import test_issue_19
|
||||||
|
|||||||
19
tests/test_issue_19.py
Normal file
19
tests/test_issue_19.py
Normal 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()
|
||||||
Reference in New Issue
Block a user