From b60610aa8b846523152c2a18fcf443ce0724470a Mon Sep 17 00:00:00 2001 From: Jamie Hardt Date: Sat, 1 Dec 2018 14:35:26 -0800 Subject: [PATCH] Some infrastructure for CmxTransitions --- pycmx/cmx_event.py | 10 +++++++++- pycmx/parse_cmx.py | 7 ++----- pycmx/parse_cmx_statements.py | 7 +++++++ 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/pycmx/cmx_event.py b/pycmx/cmx_event.py index 05d6840..6571711 100644 --- a/pycmx/cmx_event.py +++ b/pycmx/cmx_event.py @@ -1,11 +1,12 @@ class CmxEvent: - def __init__(self,title,number,clip_name,source_name,channels,source_start,source_finish, + def __init__(self,title,number,clip_name,source_name,channels, transition,source_start,source_finish, record_start, record_finish, fcm_drop, remarks = [] , unrecognized = []): self.title = title self.number = number self.clip_name = clip_name self.source_name = source_name self.channels = channels + self.transition = transition self.source_start = source_start self.source_finish = source_finish self.record_start = record_start @@ -14,4 +15,11 @@ class CmxEvent: self.remarks = remarks self.unrecgonized = unrecognized + def accept_statement(statement): + return + +class CmxTransition: + def __init__(self, transition, transition_operand): + self.transition = "" + self.transition_operand = transition_operand diff --git a/pycmx/parse_cmx.py b/pycmx/parse_cmx.py index 40e44d3..591ca5d 100644 --- a/pycmx/parse_cmx.py +++ b/pycmx/parse_cmx.py @@ -2,6 +2,7 @@ # (c) 2018 Jamie Hardt from .parse_cmx_statements import parse_cmx3600_statements +from .cmx_event import CmxEvent, CmxTransition from collections import namedtuple from re import compile, match @@ -129,11 +130,6 @@ def parse_cmx3600(file): return event_list(title, parser) -CmxEvent = namedtuple('CmxEvent',['title','number','clip_name', - 'source_name','channels','source_start','source_finish','record_start', - 'record_finish','fcm_drop']) - - def event_list(title, parser): state = {"fcm_drop" : False} @@ -155,6 +151,7 @@ def event_list(title, parser): this_event = {'title': title, 'number': raw_event.event, 'clip_name': None , 'source_name': raw_event.source, 'channels': channels, + 'transition': CmxTransition(raw_event.trans, raw_event.trans_op), 'source_start': raw_event.source_in, 'source_finish': raw_event.source_out, 'record_start': raw_event.record_in, diff --git a/pycmx/parse_cmx_statements.py b/pycmx/parse_cmx_statements.py index 0867cd6..fd39607 100644 --- a/pycmx/parse_cmx_statements.py +++ b/pycmx/parse_cmx_statements.py @@ -16,6 +16,7 @@ StmtAudioExt = namedtuple("AudioExt",["audio3","audio4"]) StmtClipName = namedtuple("ClipName",["name"]) StmtSourceFile = namedtuple("SourceFile",["filename"]) StmtRemark = namedtuple("Remark",["text"]) +StmtEffectsName = namedtuple("EffectsName",["name"]) StmtTrailer = namedtuple("Trailer",["text"]) StmtUnrecognized = namedtuple("Unrecognized",["content"]) @@ -58,6 +59,8 @@ def parse_cmx3600_line(line): return parse_remark( line[1:].strip()) elif line.startswith(">>>"): return parse_trailer_statement(line) + elif line.startswith("EFFECTS NAME IS"): + return parse_effects_name(line) else: return parse_unrecognized(line) @@ -98,6 +101,10 @@ def parse_remark(line): else: return StmtRemark(text=line) +def parse_effects_name(line): + name = line[16:].strip() + return StmtEffectsName(name=name) + def parse_unrecognized(line): return StmtUnrecognized(content=line)