Ejemplo n.º 1
0
def _record_as_title_from(record: StoryRecord) -> ActionRecord:
    assert isinstance(record, StoryRecord)

    elm = assertion.is_instance(record.type, ElmType)

    # NOTE: ここは他にも何か情報入れる場合、追加
    return ActionRecord(
        ActType.DATA,
        DATA_TITLE_TABLE[elm],
        elm_title_of(record),
    )
Ejemplo n.º 2
0
def _record_as_instruction_from(line: str) -> ActionRecord:
    assert isinstance(line, str)

    tmp = line.replace('#! ', '')
    instruction = tmp
    outline = ''
    if ' ' in tmp:
        instruction, outline = tmp.split(' ')

    return ActionRecord(ActType.DATA, ActDataType.INSTRUCTION, instruction,
                        outline)
Ejemplo n.º 3
0
def _record_as_payoff_from(record: ActionRecord, tags: dict) -> ActionRecord:
    assert isinstance(record, ActionRecord)
    assert isinstance(tags, dict)

    subject, flag = '', record.outline

    if ':' in record.outline:
        subject, flag = record.outline.split(':')
        if subject:
            subject = translate_tags_str(subject, tags, True, None)

    return ActionRecord(ActType.DATA, ActDataType.PAYOFF, subject, flag)
Ejemplo n.º 4
0
def _record_as_action_from(line: str) -> ActionRecord:
    assert isinstance(line, str)

    tmp = line
    comment = ''
    if '# ' in line:
        tmp, comment = line.split('# ')
    cmd, desc = tmp[1:].split(']')
    subject, act, outline = cmd.split(':')
    return ActionRecord(_act_type_from(act),
                        ActDataType.NONE,
                        subject,
                        outline,
                        rid_head_space(desc),
                        note=comment)
Ejemplo n.º 5
0
def _conv_shorter_by_alias(record: ActionRecord, alias: dict) -> ActionRecord:
    assert isinstance(record, ActionRecord)
    assert isinstance(alias, dict)

    subject = record.subject

    if record.subject in alias.keys():
        subject = alias[record.subject]

    return ActionRecord(
        record.type,
        record.subtype,
        subject,
        translate_tags_str(record.outline, alias),
        translate_tags_str(record.desc, alias),
        record.flags,
        translate_tags_str(record.note, alias),
    )
Ejemplo n.º 6
0
def _copy_action_record_if_same(record: ActionRecord,
                                cache: ActionRecord) -> ActionRecord:
    assert isinstance(record, ActionRecord)

    if not cache:
        return record

    assert isinstance(cache, ActionRecord)

    act_type = cache.type if record.type is ActType.SAME else record.type
    sub_type = record.subtype
    subject = cache.subject if _is_same_mark(
        record.subject) else record.subject
    outline = cache.outline if _is_same_mark(
        record.outline) else record.outline
    desc = record.desc
    flags = record.flags
    note = record.note

    return ActionRecord(act_type, sub_type, subject, outline, desc, flags,
                        note)
Ejemplo n.º 7
0
def _get_record_as_paragraph_start() -> ActionRecord:
    return ActionRecord(ActType.DATA, ActDataType.PARAGRAPH_START, '')
Ejemplo n.º 8
0
def _record_as_text_from(line: str) -> ActionRecord:
    assert isinstance(line, str)

    return ActionRecord(ActType.DO, ActDataType.TEXT, '', rid_head_space(line),
                        rid_head_space(line))
Ejemplo n.º 9
0
def _record_as_scene_year_from(record: StoryRecord) -> ActionRecord:
    assert isinstance(record, StoryRecord)
    return ActionRecord(ActType.DATA, ActDataType.SCENE_YEAR,
                        scene_item_of(record, SceneItem.YEAR))
Ejemplo n.º 10
0
def _get_record_scene_end() -> ActionRecord:
    return ActionRecord(ActType.DATA, ActDataType.SCENE_END, '')
Ejemplo n.º 11
0
def _record_as_scene_camera_from(record: StoryRecord) -> ActionRecord:
    assert isinstance(record, StoryRecord)
    return ActionRecord(ActType.DATA, ActDataType.SCENE_CAMERA,
                        scene_item_of(record, SceneItem.CAMERA))
Ejemplo n.º 12
0
def _record_as_head_from(line: str) -> ActionRecord:
    assert isinstance(line, str)

    title = line.replace('## ', '')
    return ActionRecord(ActType.DATA, ActDataType.SCENE_HEAD, title)
Ejemplo n.º 13
0
def _record_as_comment_from(line: str) -> ActionRecord:
    assert isinstance(line, str)

    comment = line.replace('# ', '')
    return ActionRecord(ActType.DATA, ActDataType.COMMENT, comment)
Ejemplo n.º 14
0
def _get_record_scene_start() -> ActionRecord:
    return ActionRecord(ActType.DATA, ActDataType.SCENE_START, '')
Ejemplo n.º 15
0
def _get_record_as_br() -> ActionRecord:
    return ActionRecord(ActType.DATA, ActDataType.BR, '\n')
Ejemplo n.º 16
0
def _get_record_as_paragraph_end() -> ActionRecord:
    return ActionRecord(ActType.DATA, ActDataType.PARAGRAPH_END, '')
Ejemplo n.º 17
0
def _record_as_scene_time_from(record: StoryRecord) -> ActionRecord:
    assert isinstance(record, StoryRecord)
    return ActionRecord(ActType.DATA, ActDataType.SCENE_TIME,
                        scene_item_of(record, SceneItem.TIME))