def _record_as_monologue_from(record: ActionRecord) -> ScriptRecord: assert isinstance(record, ActionRecord) return ScriptRecord( ScriptType.MONOLOGUE, record.subject, record.desc, record.note)
def _record_as_title_from(record: ActionRecord) -> ScriptRecord: assert isinstance(record, ActionRecord) return ScriptRecord( _title_type_of(record), record.subject, record.outline, record.note)
def _record_as_se_from(record: ActionRecord) -> ScriptRecord: assert isinstance(record, ActionRecord) return ScriptRecord( ScriptType.SE, record.subject, record.outline, record.note)
def _record_as_description_from(record: ActionRecord) -> ScriptRecord: assert isinstance(record, ActionRecord) return ScriptRecord( ScriptType.DESCRIPTION, record.subject, record.desc, record.note)
def _record_as_comment_from(record: ActionRecord) -> ScriptRecord: assert isinstance(record, ActionRecord) return ScriptRecord( ScriptType.COMMENT, record.subject, record.outline, record.note)
def _update_tags_spin_record(record: ScriptRecord, tags: dict) -> ScriptRecord: assert isinstance(record, ScriptRecord) assert isinstance(tags, dict) return ScriptRecord( record.type, translate_tags_str(record.subject, tags, True, None), translate_tags_str(record.desc, tags, True, None), translate_tags_str(record.note, tags, True, None), )
def _update_tags_desc_record(record: ScriptRecord, tags: dict, callings: dict) -> ScriptRecord: assert isinstance(record, ScriptRecord) assert isinstance(tags, dict) assert isinstance(callings, dict) if record.subject in callings: calling = dict_sorted(callings[record.subject], True) return ScriptRecord( record.type, translate_tags_str(record.subject, tags, True, None), translate_tags_str(record.desc, calling), translate_tags_str(record.note, calling), ) else: return ScriptRecord( record.type, translate_tags_str(record.subject, tags, True, None), record.desc, record.note)
def _record_as_spin_from(camera: ActionRecord, stage: ActionRecord, time: ActionRecord) -> ScriptRecord: assert isinstance(camera, ActionRecord) assert isinstance(stage, ActionRecord) assert isinstance(time, ActionRecord) subject = camera.subject outline = stage.subject note = time.subject return ScriptRecord( ScriptType.SPIN, subject, outline, note)
def _get_record_as_paragraph_start() -> ScriptRecord: return ScriptRecord(ScriptType.PARAGRAPH_START, '', '', '')
def _get_record_as_paragraph_end() -> ScriptRecord: return ScriptRecord(ScriptType.PARAGRAPH_END, '', '', '')
def _get_record_as_br() -> ScriptRecord: return ScriptRecord(ScriptType.BR, '', '', '')