Implementation

This commit is contained in:
Jamie Hardt
2021-06-01 22:21:22 -07:00
parent ade1cc463a
commit 1a43888c43
4 changed files with 66 additions and 8 deletions

View File

@@ -44,7 +44,6 @@ adr_field_map = ((['Title', 'PT.Session.Name'], 'Title', str),
)
class ADRLine:
title: str
supervisor: str
@@ -107,6 +106,34 @@ class ADRLine:
formatter=(lambda x: len(x) > 0))
]
def __init__(self):
self.title = None
self.supervisor = None
self.client = None
self.scene = None
self.version = None
self.reel = None
self.start = None
self.finish = None
self.priority = None
self.cue_number = None
self.character_id = None
self.character_name = None
self.actor_name = None
self.prompt = None
self.reason = None
self.requested_by = None
self.time_budget_mins = None
self.note = None
self.spot = None
self.shot = None
self.effort = False
self.tv = False
self.tbw = False
self.omitted = False
self.adlib = False
self.optional = False
@classmethod
def from_event(cls, event: Event) -> Optional['ADRLine']:
new = cls()

View File

@@ -30,31 +30,30 @@ class TagMapping:
def __init__(self, source: str,
target: str,
alt: Optional[ContentSource] = None,
formatter=None):
formatter=(lambda x: x)):
self.source = source
self.target = target
self.alternate_source = alt
self.formatter = formatter or (lambda x: x)
self.formatter = formatter
def apply(self, tags: dict,
clip_content: str,
track_content: str,
session_content: str, to: object) -> bool:
setter = getattr(to, self.target)
new_value = None
if self.source in tags.keys():
new_value = tags[self.source]
elif self.alternate_source == 1:
elif self.alternate_source == TagMapping.ContentSource.Session:
new_value = session_content
elif self.alternate_source == 2:
elif self.alternate_source == TagMapping.ContentSource.Track:
new_value = track_content
elif self.alternate_source == 3:
elif self.alternate_source == TagMapping.ContentSource.Clip:
new_value = clip_content
if new_value is not None:
setter(self.formatter(new_value))
setattr(to, self.target, self.formatter(new_value))
return True
else:
return False

32
tests/test_adr_entity.py Normal file
View File

@@ -0,0 +1,32 @@
import unittest
from ptulsconv.docparser.tag_compiler import Event
from ptulsconv.docparser.adr_entity import ADRLine
from fractions import Fraction
from pprint import pprint
class TestADREntity(unittest.TestCase):
def test_something(self):
tags = {
'Ver': '1.0',
'Actor': "Bill",
'CN': "1",
'QN': 'J1001',
'R': 'Noise',
'EFF': 'EFF'
}
event = Event(clip_name='"This is a test." (sotto voce)',
track_name="Justin",
session_name="Test Project",
tags=tags,
start=Fraction(0, 1), finish=Fraction(1, 1))
line = ADRLine.from_event(event)
pprint(line.__dict__)
if __name__ == '__main__':
unittest.main()