Edit line numbers

Line numbers of edits are accessible
This commit is contained in:
Jamie Hardt
2018-12-26 15:29:49 -08:00
parent 9afe9d194d
commit bc02eb10fc
2 changed files with 21 additions and 1 deletions

View File

@@ -68,11 +68,23 @@ class EditList:
class Edit: class Edit:
def __init__(self, edit_statement, audio_ext_statement, clip_name_statement, source_file_statement): def __init__(self, edit_statement, audio_ext_statement, clip_name_statement, source_file_statement, other_statements = []):
self.edit_statement = edit_statement self.edit_statement = edit_statement
self.audio_ext = audio_ext_statement self.audio_ext = audio_ext_statement
self.clip_name_statement = clip_name_statement self.clip_name_statement = clip_name_statement
self.source_file_statement = source_file_statement self.source_file_statement = source_file_statement
self.other_statements = other_statements
@property
def line_number(self):
"""
Get the line number for the "standard form" statement associated with
this edit. Line numbers a zero-indexed, such that the
"TITLE:" record is line zero.
"""
return self.edit_statement.line_number
@property @property
def channels(self): def channels(self):

View File

@@ -70,5 +70,13 @@ class TestParse(TestCase):
self.assertEqual( events[42].edits[1].record_out , "01:08:56:11") self.assertEqual( events[42].edits[1].record_out , "01:08:56:11")
self.assertTrue( events[42].edits[1].transition.kind == pycmx.Transition.Dissolve) self.assertTrue( events[42].edits[1].transition.kind == pycmx.Transition.Dissolve)
def test_line_numbers(self):
with open("tests/edls/ToD_R4_LOCK3.1_030618_Video.edl") as f:
edl = pycmx.parse_cmx3600(f)
events = list( edl.events )
self.assertEqual( events[0].edits[0].line_number, 2)
self.assertEqual( events[14].edits[0].line_number, 45)
self.assertEqual( events[180].edits[0].line_number, 544)