Example #1
0
def test_invalid_pg_ref():
    text_id = "D1119"
    pecha_path = "./tests/data/"
    index = from_yaml(Path("./tests/data/P000792.opf/index.yml"))
    pages_to_edit = [
        PedurmaNoteEdit(
            image_link=
            "https://iiif.bdrc.io/bdr:I1PD95847::I1PD958470004.jpg/full/max/0/default.jpg",
            image_no=9,
            page_no=9,
            ref_start_page_no="9",
            ref_end_page_no="8",
            vol=2,
        ),
        PedurmaNoteEdit(
            image_link=
            "https://iiif.bdrc.io/bdr:I1PD95847::I1PD958470005.jpg/full/max/0/default.jpg",
            image_no=10,
            page_no=10,
            ref_start_page_no="7",
            ref_end_page_no="10",
            vol=2,
        ),
    ]
    for vol, new_pagination_layer in update_pagination(text_id, pages_to_edit,
                                                       index, pecha_path):
        layer_path = f"./tests/data/P000792.opf/layers/v002/Pagination.yml"
        expected_layer = from_yaml(Path(layer_path))
        assert new_pagination_layer == expected_layer
Example #2
0
def get_text_obj(pecha_id, text_id, pecha_path=None):
    if not pecha_path:
        pecha_path = download_pecha(pecha_id, needs_update=False)
    meta_data = from_yaml(Path(f"{pecha_path}/{pecha_id}.opf/meta.yml"))
    index = from_yaml(Path(f"{pecha_path}/{pecha_id}.opf/index.yml"))
    hfmls = get_hfml_text(f"{pecha_path}/{pecha_id}.opf/", text_id, index)
    text_uuid, text = get_text_info(text_id, index)
    text_meta = get_meta_data(pecha_id, text_uuid, meta_data)
    text = construct_text_obj(hfmls, text_meta, pecha_path)
    return text
Example #3
0
def test_text_obj_serializer():
    text_id = "D1116"
    pecha_id = "P000002"
    opf_path = f"./tests/data/{pecha_id}/"
    index = from_yaml(Path(f"{opf_path}/{pecha_id}.opf/index.yml"))
    meta_data = from_yaml(Path(f'{opf_path}/{pecha_id}.opf/meta.yml'))
    text_uuid, text_info = get_text_info(text_id, index)
    text_meta = get_meta_data(pecha_id, text_uuid, meta_data)
    hfmls = from_yaml(Path(f"./tests/data/hfmls/{text_id}.yml"))
    text_obj = construct_text_obj(hfmls, text_meta, opf_path)
    expected_text_obj = Text(
        id="cf52cbae1a7640b688b24135fe566920",
        pages=[
            Page(
                id="3373e79434004aaeb8b2e69649243d2a",
                page_no=5,
                content=
                "\nངོས་ལྗོན་ཤིང་\nལེན་པ་པོ་ཕུན་སུམ་ཚོགས་པའོ།\nའདི་དག་གིས་ནི་སྦྱིན་པར་\n",
                name="Page 5",
                vol="2",
                image_link=
                "https://iiif.bdrc.io/bdr:I1PD95847::I1PD958470005.jpg/full/max/0/default.jpg",
                note_ref="9efa117a2b9444ac8cb09c198d21cdd8",
            ),
            Page(
                id="71dff610d4c841c58e9c815582bf8508",
                page_no=6,
                content=
                "\nམངའ་དབང་མཛད་པ་\nའདི་དག་གིས་ནི་དེའི་\nགིས་ནི་སྐྱེ་བ་ལ་\n",
                name="Page 6",
                vol="2",
                image_link=
                "https://iiif.bdrc.io/bdr:I1PD95847::I1PD958470006.jpg/full/max/0/default.jpg",
                note_ref="9efa117a2b9444ac8cb09c198d21cdd8",
            ),
        ],
        notes=[
            NotesPage(
                id="9efa117a2b9444ac8cb09c198d21cdd8",
                page_no=7,
                content="\nདེ་ལ་ནམ་མཁའི་\nབ་ཡང་དག་པར་\nགིས་ནི་ཆོས་སྟོན་པའི་\n",
                name="Page 7",
                vol="2",
                image_link=
                "https://iiif.bdrc.io/bdr:I1PD95847::I1PD958470007.jpg/full/max/0/default.jpg",
            )
        ],
    )
    assert text_obj == expected_text_obj
Example #4
0
def construct_text_obj(hfmls, text_meta, opf_path):
    pages = []
    notes = []
    vol_span = []
    for vol_num, hfml_text in hfmls.items():
        text_meta["vol"] = int(vol_num[1:])
        pagination_layer = from_yaml(
            Path(
                f"{opf_path}/{text_meta['pecha_id']}.opf/layers/v{int(text_meta['vol']):03}/Pagination.yml"
            ))
        if not re.search(r"\[([𰵀-󴉱])?([0-9]+[a-z]{1})\]", hfml_text[:10]):
            hfml_text = add_first_page_ann(hfml_text)
        body_text = get_body_text(hfml_text)
        durchen = get_durchen(hfml_text)
        pages += get_page_obj_list(body_text,
                                   text_meta,
                                   pagination_layer,
                                   tag="text")
        if durchen:
            notes += get_page_obj_list(durchen,
                                       text_meta,
                                       pagination_layer,
                                       tag="note")
    text_obj = Text(id=text_meta["text_uuid"], pages=pages, notes=notes)
    return text_obj
Example #5
0
def test_notes_generator():
    text_id = "D1119"
    hfml_texts = from_yaml(Path(f"./tests/data/hfmls/{text_id}.yml"))
    text_meta = {
        "work_id": "W1PD95844",
        "img_grp_offset": 845,
        "pref": "I1PD95"
    }
    result = get_pedurma_edit_notes(hfml_texts, text_meta)
    expected_result = [
        PedurmaNoteEdit(
            image_link=
            "https://iiif.bdrc.io/bdr:I1PD95847::I1PD958470009.jpg/full/max/0/default.jpg",
            image_no=9,
            page_no=595,
            ref_start_page_no="589",
            ref_end_page_no="0",
            vol=2,
        ),
        PedurmaNoteEdit(
            image_link=
            "https://iiif.bdrc.io/bdr:I1PD95847::I1PD958470010.jpg/full/max/0/default.jpg",
            image_no=10,
            page_no=596,
            ref_start_page_no="595",
            ref_end_page_no="0",
            vol=2,
        ),
    ]

    assert result == expected_result
Example #6
0
def test_pagination_update_crossvol():
    text_id = "D1118"
    pecha_path = "./tests/data/"
    index = from_yaml(Path("./tests/data/P000792.opf/index.yml"))
    pages_to_edit = [
        PedurmaNoteEdit(
            image_link=
            "https://iiif.bdrc.io/bdr:I1PD95846::I1PD958460004.jpg/full/max/0/default.jpg",
            image_no=4,
            page_no=4,
            ref_start_page_no="1",
            ref_end_page_no="3",
            vol=1,
        ),
        PedurmaNoteEdit(
            image_link=
            "https://iiif.bdrc.io/bdr:I1PD95846::I1PD958460005.jpg/full/max/0/default.jpg",
            image_no=5,
            page_no=5,
            ref_start_page_no="4",
            ref_end_page_no="4",
            vol=1,
        ),
        PedurmaNoteEdit(
            image_link=
            "https://iiif.bdrc.io/bdr:I1PD95847::I1PD958470004.jpg/full/max/0/default.jpg",
            image_no=4,
            page_no=4,
            ref_start_page_no="1",
            ref_end_page_no="3",
            vol=2,
        ),
        PedurmaNoteEdit(
            image_link=
            "https://iiif.bdrc.io/bdr:I1PD95847::I1PD958470005.jpg/full/max/0/default.jpg",
            image_no=5,
            page_no=5,
            ref_start_page_no="0",
            ref_end_page_no="0",
            vol=2,
        ),
    ]
    for vol, new_pagination_layer in update_pagination(text_id, pages_to_edit,
                                                       index, pecha_path):
        layer_path = f"./tests/data/paginations/{text_id}/v{int(vol):03}.yml"
        expected_layer = from_yaml(Path(layer_path))
        assert new_pagination_layer == expected_layer
Example #7
0
def update_text_pagination(text_id, pedurma_edit_notes):
    pecha_path = download_pecha("P000792", needs_update=False)
    index = from_yaml(Path(f"{pecha_path}/P000792.opf/index.yml"))
    for vol, new_pagination in update_pagination(text_id, pedurma_edit_notes,
                                                 index, pecha_path):
        new_pagination_yml = to_yaml(new_pagination)
        Path(f"{pecha_path}/P000792.opf/layers/v{int(vol):03}/Pagination.yml"
             ).write_text(new_pagination_yml, encoding="utf-8")
Example #8
0
def test_update_layers():
    pecha_opf_path = Path('./tests/data/save_text/old_opf/')
    pecha_id = "P000002"
    text_id = "D1116"
    text_obj = Text(
        id="cf52cbae1a7640b688b24135fe566920",
        pages=[
            Page(
                id="3373e79434004aaeb8b2e69649243d2a",
                page_no=5,
                content=
                "\nངོས་ལྗོན་ཤིང་\nལེན་པ་པོ་ཕུན་སུམ་ཚོགས་པའོ།\nའདི་དག་གིས་ནི་སྦྱིན་པར་\n",
                name="Page 5",
                vol="2",
                image_link=
                "https://iiif.bdrc.io/bdr:I1PD95847::I1PD958470005.jpg/full/max/0/default.jpg",
                note_ref="9efa117a2b9444ac8cb09c198d21cdd8",
            ),
            Page(
                id="71dff610d4c841c58e9c815582bf8508",
                page_no=6,
                content=
                "\nམངའ་དབང་མཛད་པ་\nའདི་དག་གིས་ནི་དེའི་\nགིས་ནི་སྐྱེ་kkབ་ལ་\n",
                name="Page 6",
                vol="2",
                image_link=
                "https://iiif.bdrc.io/bdr:I1PD95847::I1PD958470006.jpg/full/max/0/default.jpg",
                note_ref="9efa117a2b9444ac8cb09c198d21cdd8",
            ),
        ],
        notes=[
            NotesPage(
                id="9efa117a2b9444ac8cb09c198d21cdd8",
                page_no=7,
                content="\nདེ་ལ་ནམ་མཁའི་\nབ་ཡང་དག་པར་\nགིས་ནི་ཆོས་སྟོན་པའི་",
                name="Page 7",
                vol="2",
                image_link=
                "https://iiif.bdrc.io/bdr:I1PD95847::I1PD958470007.jpg/full/max/0/default.jpg",
            )
        ],
    )
    pecha_idx = from_yaml((pecha_opf_path / f"{pecha_id}.opf/index.yml"))
    text_vol_span = get_text_vol_span(pecha_idx, text_obj.id)
    old_vols = get_old_vol(pecha_opf_path, pecha_id, text_vol_span)
    new_vols = get_new_vol(old_vols, pecha_idx, text_obj)
    for (vol_id, old_vol_base), (_,
                                 new_vol_base) in zip(old_vols.items(),
                                                      new_vols.items()):
        updater = Blupdate(old_vol_base, new_vol_base)
        old_layers = get_old_layers(pecha_opf_path, pecha_id, vol_id)
        for layer_name, old_layer in old_layers.items():
            update_ann_layer(old_layer, updater)
            new_layer = to_yaml(old_layer)
            expected_layer = Path(
                f'./tests/data/save_text/expected_layers/{layer_name}.yml'
            ).read_text(encoding='utf-8')
            assert new_layer == expected_layer
Example #9
0
def get_old_layers(pecha_opf_path, pecha_id, vol_id):
    old_layers = {}
    layer_paths = list(
        (pecha_opf_path / f"{pecha_id}.opf/layers/{vol_id}").iterdir())
    for layer_path in layer_paths:
        layer_name = layer_path.stem
        layer_content = from_yaml(layer_path)
        old_layers[layer_name] = layer_content
    return old_layers
Example #10
0
def test_get_preview_page():
    gb_pg_yml = from_yaml(Path("./tests/data/page_obj/109b_dg.yml"))
    g_body_page = Page(
        id=gb_pg_yml["id"],
        page_no=gb_pg_yml["page_no"],
        content=gb_pg_yml["content"],
        name=gb_pg_yml["name"],
        vol=gb_pg_yml["vol"],
        image_link=gb_pg_yml["image_link"],
        note_ref=gb_pg_yml["note_ref"],
    )
    nb_pg_yml = from_yaml(Path("./tests/data/page_obj/109b_n.yml"))
    n_body_page = Page(
        id=nb_pg_yml["id"],
        page_no=nb_pg_yml["page_no"],
        content=nb_pg_yml["content"],
        name=nb_pg_yml["name"],
        vol=nb_pg_yml["vol"],
        image_link=nb_pg_yml["image_link"],
        note_ref=nb_pg_yml["note_ref"],
    )
    gd_pg_yml = from_yaml(Path("./tests/data/notes_page_obj/113a_g.yml"))
    g_durchen_page = NotesPage(
        id=gd_pg_yml["id"],
        page_no=gd_pg_yml["page_no"],
        content=gd_pg_yml["content"],
        name=gd_pg_yml["name"],
        vol=gd_pg_yml["vol"],
        image_link=gd_pg_yml["image_link"],
    )
    nd_pg_yml = from_yaml(Path("./tests/data/notes_page_obj/113a_n.yml"))
    n_durchen_page = NotesPage(
        id=nd_pg_yml["id"],
        page_no=nd_pg_yml["page_no"],
        content=nd_pg_yml["content"],
        name=nd_pg_yml["name"],
        vol=nd_pg_yml["vol"],
        image_link=nd_pg_yml["image_link"],
    )
    expected_prev_page = Path("./tests/data/prev_pg.txt").read_text(
        encoding="utf-8")
    preview_page = get_preview_page(g_body_page, n_body_page, g_durchen_page,
                                    n_durchen_page)
    assert expected_prev_page == preview_page
Example #11
0
def test_page_num_missing():
    with pytest.raises(PageNumMissing):
        gb_pg_yml = from_yaml(Path("./tests/data/page_obj/19a_dg.yml"))
        g_body_page = Page(
            id=gb_pg_yml["id"],
            page_no=gb_pg_yml["page_no"],
            content=gb_pg_yml["content"],
            name=gb_pg_yml["name"],
            vol=gb_pg_yml["vol"],
            image_link=gb_pg_yml["image_link"],
            note_ref=gb_pg_yml["note_ref"],
        )
        nb_pg_yml = from_yaml(Path("./tests/data/page_obj/19a_n.yml"))
        n_body_page = Page(
            id=nb_pg_yml["id"],
            page_no=nb_pg_yml["page_no"],
            content=nb_pg_yml["content"],
            name=nb_pg_yml["name"],
            vol=nb_pg_yml["vol"],
            image_link=nb_pg_yml["image_link"],
            note_ref=nb_pg_yml["note_ref"],
        )
        gd_pg_yml = from_yaml(Path("./tests/data/notes_page_obj/13a_g.yml"))
        g_durchen_page = NotesPage(
            id=gd_pg_yml["id"],
            page_no=gd_pg_yml["page_no"],
            content=gd_pg_yml["content"],
            name=gd_pg_yml["name"],
            vol=gd_pg_yml["vol"],
            image_link=gd_pg_yml["image_link"],
        )
        nd_pg_yml = from_yaml(Path("./tests/data/notes_page_obj/13a_n.yml"))
        n_durchen_page = NotesPage(
            id=nd_pg_yml["id"],
            page_no=nd_pg_yml["page_no"],
            content=nd_pg_yml["content"],
            name=nd_pg_yml["name"],
            vol=nd_pg_yml["vol"],
            image_link=nd_pg_yml["image_link"],
        )
        preview_page = get_preview_page(g_body_page, n_body_page,
                                        g_durchen_page, n_durchen_page)
Example #12
0
def update_pagination(text_id, pedurma_edit_notes, index, pecha_path):
    text_uuid, text_info = get_text_info(text_id, index)
    for span in text_info["span"]:
        vol = span["vol"]
        pagination_layer = from_yaml(
            Path(
                f"{pecha_path}/P000792.opf/layers/v{int(vol):03}/Pagination.yml"
            ))
        pagination_layer = update_pg_ref(vol, pedurma_edit_notes,
                                         pagination_layer)
        yield vol, pagination_layer
Example #13
0
def save_text(pecha_id, text_obj, **kwargs):
    pecha_opf_path = download_pecha(pecha_id, **kwargs)
    old_pecha_idx = from_yaml((pecha_opf_path / f'{pecha_id}.opf/index.yml'))
    prev_pecha_idx = copy.deepcopy(old_pecha_idx)
    new_pecha_idx = update_index(pecha_opf_path, pecha_id, text_obj,
                                 old_pecha_idx)
    update_old_layers(pecha_opf_path, pecha_id, text_obj, prev_pecha_idx)
    update_base(pecha_opf_path, pecha_id, text_obj, prev_pecha_idx)
    new_pecha_idx = to_yaml(new_pecha_idx)
    (pecha_opf_path / f'{pecha_id}.opf/index.yml').write_text(new_pecha_idx,
                                                              encoding='utf-8')
    return pecha_opf_path
Example #14
0
def test_integration():
    os.system(
        'cp -r ./tests/data/save_text/P0003 ./tests/data/save_text/P0003_copy')
    pecha_opf_path = Path('./tests/data/save_text/P0003_copy/')
    pecha_id = "P0003"
    text_id = "D1118"
    text_obj = get_text_obj(pecha_id, text_id, pecha_opf_path)
    new_last_page = "\nརིམ་གྱིས་སྦྱངས་\nམེད་ཉི་མ་ཟླ་བ་ཡང་།\n་རྡུལ་kkལ་སོགས།\n"
    text_obj.pages[-1].content = new_last_page
    old_pecha_idx = from_yaml((pecha_opf_path / f'{pecha_id}.opf/index.yml'))
    prev_pecha_idx = copy.deepcopy(old_pecha_idx)
    new_pecha_idx = update_index(pecha_opf_path, pecha_id, text_obj,
                                 old_pecha_idx)
    update_old_layers(pecha_opf_path, pecha_id, text_obj, prev_pecha_idx)
    update_base(pecha_opf_path, pecha_id, text_obj, prev_pecha_idx)
    new_pecha_idx = to_yaml(new_pecha_idx)
    (pecha_opf_path / f'{pecha_id}.opf/index.yml').write_text(new_pecha_idx,
                                                              encoding='utf-8')
    new_text_obj = get_text_obj(pecha_id, text_id, pecha_opf_path)
    assert new_text_obj == text_obj
    os.system('rm -r ./tests/data/save_text/P0003_copy')
Example #15
0
def test_update_index():
    pecha_opf_path = Path('./tests/data/save_text/old_opf/')
    pecha_id = "P000002"
    text_id = "D1116"
    text_obj = Text(
        id="259260e8e3544fc1a9a27d7dffc72df6",
        pages=[
            Page(
                id="1a26fd08bf2b4ebb9e2d7369347e478b",
                page_no=1,
                content=
                "\nཉ༄ཚོ། །རྒྱ་གར་སྐད་དུ།\nསྟ་བ་ནཱ་མ། བོད་སྐད་དུ།\nཔར་འོས་པ་བསྔགས་\n",
                name="Page 1",
                vol="1",
                image_link=
                "https://iiif.bdrc.io/bdr:I1PD95846::I1PD958460001.jpg/full/max/0/default.jpg",
                note_ref="46d97ed3d9ca4ddabc3c413f306df03a",
            ),
            Page(
                id="e8e314a7457b40348b5dd7a744004900",
                page_no=2,
                content="\nགཏམ་འདི་ཙམ\nའདི་ཉིད་སྨྲ་བར་\nདང་-། །ཁྱོད་མ\n",
                name="Page 2",
                vol="1",
                image_link=
                "https://iiif.bdrc.io/bdr:I1PD95846::I1PD958460002.jpg/full/max/0/default.jpg",
                note_ref="46d97ed3d9ca4ddabc3c413f306df03a",
            ),
            Page(
                id="29c64dc1fa624b42b08814ca4f3a78b4",
                page_no=3,
                content="\nའདོད་གང་དག་\nསྐྱབས་འགྲོ་བ།\nསྟོང་གིས་ཀྱང་།\n",
                name="Page 3",
                vol="1",
                image_link=
                "https://iiif.bdrc.io/bdr:I1PD95846::I1PD958460003.jpg/full/max/0/default.jpg",
                note_ref="46d97ed3d9ca4ddabc3c413f306df03a",
            ),
            Page(
                id="c11d8db649854c5d89ca3df22047d07b",
                page_no=1,
                content=
                "\n་་༄ལོ། །རྒྱ་གར་སྐད་དུ།\nདབྱིངས་སུ་བསྟོད་པ།\nའཚལ་ལོ། །གང་ཞིག་\n",
                name="Page 1",
                vol="2",
                image_link=
                "https://iiif.bdrc.io/bdr:I1PD95847::I1PD958470001.jpg/full/max/0/default.jpg",
                note_ref="05d117045b0c4ea5aee3aeba558e94bd",
            ),
            Page(
                id="21671cb910d9486c8ba4793305c00d58",
                page_no=2,
                content=
                "\nམཐོང་ངོ་། །ཕྱོགས་\nདེ་དང་དེ་ཡི་ཕྱོགས་\nཏིང་འཛིན་རྡོ་རྗེ་ཡིས\n",
                name="Page 2",
                vol="2",
                image_link=
                "https://iiif.bdrc.io/bdr:I1PD95847::I1PD958470002.jpg/full/max/0/default.jpg",
                note_ref="05d117045b0c4ea5aee3aeba558e94bd",
            ),
            Page(
                id="671dc26715434318b3d641521d4e9292",
                page_no=3,
                content=
                "\nརིམ་གྱིས་སྦྱངས་\nམེད་ཉི་མ་ཟླ་བ་ཡང་།\n་རྡུལ་kལ་སོགས།\n",
                name="Page 3",
                vol="2",
                image_link=
                "https://iiif.bdrc.io/bdr:I1PD95847::I1PD958470003.jpg/full/max/0/default.jpg",
                note_ref="05d117045b0c4ea5aee3aeba558e94bd",
            ),
        ],
        notes=[
            NotesPage(
                id="46d97ed3d9ca4ddabc3c413f306df03a",
                page_no=4,
                content="\nརྒྱ་གར་གྱི་\n༢༦༤ ༧པེ་〉〉་\nབཞུགས་གོ།",
                name="Page 4",
                vol="1",
                image_link=
                "https://iiif.bdrc.io/bdr:I1PD95846::I1PD958460004.jpg/full/max/0/default.jpg",
            ),
            NotesPage(
                id="05d117045b0c4ea5aee3aeba558e94bd",
                page_no=4,
                content="\nའབྱོར་ཆེན་པོ་དེར་\nསྡུག་བསྔལ་གྱིས་\nདེ་ཡི་སྐུ་ལས་\n",
                name="Page 4",
                vol="2",
                image_link=
                "https://iiif.bdrc.io/bdr:I1PD95847::I1PD958470004.jpg/full/max/0/default.jpg",
            ),
        ],
    )
    pecha_idx = from_yaml((pecha_opf_path / f"{pecha_id}.opf/index.yml"))
    new_pecha_idx = update_index(pecha_opf_path, pecha_id, text_obj, pecha_idx)
    new_pecha_idx = to_yaml(new_pecha_idx)
    expected_idx = Path('./tests/data/save_text/expected_index.yml').read_text(
        encoding='utf-8')
    assert new_pecha_idx == expected_idx
Example #16
0
def test_notes_generator_crossvol():
    text_id = "D1118"
    hfml_texts = from_yaml(Path(f"./tests/data/hfmls/{text_id}.yml"))
    text_meta = {
        "work_id": "W1PD95844",
        "img_grp_offset": 845,
        "pref": "I1PD95"
    }
    result = get_pedurma_edit_notes(hfml_texts, text_meta)
    expected_result = [
        PedurmaNoteEdit(
            image_link=
            "https://iiif.bdrc.io/bdr:I1PD95846::I1PD958460004.jpg/full/max/0/default.jpg",
            image_no=4,
            page_no=304,
            ref_start_page_no="264",
            ref_end_page_no="279",
            vol=1,
        ),
        PedurmaNoteEdit(
            image_link=
            "https://iiif.bdrc.io/bdr:I1PD95846::I1PD958460005.jpg/full/max/0/default.jpg",
            image_no=5,
            page_no=305,
            ref_start_page_no="280",
            ref_end_page_no="299",
            vol=1,
        ),
        PedurmaNoteEdit(
            image_link=
            "https://iiif.bdrc.io/bdr:I1PD95846::I1PD958460006.jpg/full/max/0/default.jpg",
            image_no=6,
            page_no=306,
            ref_start_page_no="301",
            ref_end_page_no="304",
            vol=1,
        ),
        PedurmaNoteEdit(
            image_link=
            "https://iiif.bdrc.io/bdr:I1PD95847::I1PD958470004.jpg/full/max/0/default.jpg",
            image_no=4,
            page_no=187,
            ref_start_page_no="180",
            ref_end_page_no="0",
            vol=2,
        ),
        PedurmaNoteEdit(
            image_link=
            "https://iiif.bdrc.io/bdr:I1PD95847::I1PD958470005.jpg/full/max/0/default.jpg",
            image_no=5,
            page_no=188,
            ref_start_page_no="1",
            ref_end_page_no="2",
            vol=2,
        ),
        PedurmaNoteEdit(
            image_link=
            "https://iiif.bdrc.io/bdr:I1PD95847::I1PD958470006.jpg/full/max/0/default.jpg",
            image_no=6,
            page_no=189,
            ref_start_page_no="0",
            ref_end_page_no="0",
            vol=2,
        ),
    ]

    assert result == expected_result
Example #17
0
def get_pedurma_text_edit_notes(text_id):
    pecha_path = download_pecha("P000792", needs_update=False)
    meta_data = from_yaml(Path(f"{pecha_path}/P000792.opf/meta.yml"))
    hfmls = get_hfml_text(pecha_path, text_id)
    pedurma_edit_notes = get_pedurma_edit_notes(hfmls, meta_data)
    return pedurma_edit_notes
Example #18
0
def test_text_obj_serializer_corssvol():
    text_id = "D1115"
    pecha_id = "P000002"
    opf_path = f"./tests/data/{pecha_id}/"
    index = from_yaml(Path(f"{opf_path}/{pecha_id}.opf/index.yml"))
    meta_data = from_yaml(Path(f'{opf_path}/{pecha_id}.opf/meta.yml'))
    text_uuid, text_info = get_text_info(text_id, index)
    text_meta = get_meta_data(pecha_id, text_uuid, meta_data)
    hfmls = from_yaml(Path(f"./tests/data/hfmls/{text_id}.yml"))
    text_obj = construct_text_obj(hfmls, text_meta, opf_path)
    expected_text_obj = Text(
        id="259260e8e3544fc1a9a27d7dffc72df6",
        pages=[
            Page(
                id="1a26fd08bf2b4ebb9e2d7369347e478b",
                page_no=1,
                content=
                "\nཉ༄ཚོ། །རྒྱ་གར་སྐད་དུ།\nསྟ་བ་ནཱ་མ། བོད་སྐད་དུ།\nཔར་འོས་པ་བསྔགས་\n",
                name="Page 1",
                vol="1",
                image_link=
                "https://iiif.bdrc.io/bdr:I1PD95846::I1PD958460001.jpg/full/max/0/default.jpg",
                note_ref="46d97ed3d9ca4ddabc3c413f306df03a",
            ),
            Page(
                id="e8e314a7457b40348b5dd7a744004900",
                page_no=2,
                content="\nགཏམ་འདི་ཙམ\nའདི་ཉིད་སྨྲ་བར་\nདང་-། །ཁྱོད་མ\n",
                name="Page 2",
                vol="1",
                image_link=
                "https://iiif.bdrc.io/bdr:I1PD95846::I1PD958460002.jpg/full/max/0/default.jpg",
                note_ref="46d97ed3d9ca4ddabc3c413f306df03a",
            ),
            Page(
                id="29c64dc1fa624b42b08814ca4f3a78b4",
                page_no=3,
                content="\nའདོད་གང་དག་\nསྐྱབས་འགྲོ་བ།\nསྟོང་གིས་ཀྱང་།\n",
                name="Page 3",
                vol="1",
                image_link=
                "https://iiif.bdrc.io/bdr:I1PD95846::I1PD958460003.jpg/full/max/0/default.jpg",
                note_ref="46d97ed3d9ca4ddabc3c413f306df03a",
            ),
            Page(
                id="c11d8db649854c5d89ca3df22047d07b",
                page_no=1,
                content=
                "\n་་༄ལོ། །རྒྱ་གར་སྐད་དུ།\nདབྱིངས་སུ་བསྟོད་པ།\nའཚལ་ལོ། །གང་ཞིག་\n",
                name="Page 1",
                vol="2",
                image_link=
                "https://iiif.bdrc.io/bdr:I1PD95847::I1PD958470001.jpg/full/max/0/default.jpg",
                note_ref="05d117045b0c4ea5aee3aeba558e94bd",
            ),
            Page(
                id="21671cb910d9486c8ba4793305c00d58",
                page_no=2,
                content=
                "\nམཐོང་ངོ་། །ཕྱོགས་\nདེ་དང་དེ་ཡི་ཕྱོགས་\nཏིང་འཛིན་རྡོ་རྗེ་ཡིས\n",
                name="Page 2",
                vol="2",
                image_link=
                "https://iiif.bdrc.io/bdr:I1PD95847::I1PD958470002.jpg/full/max/0/default.jpg",
                note_ref="05d117045b0c4ea5aee3aeba558e94bd",
            ),
            Page(
                id="671dc26715434318b3d641521d4e9292",
                page_no=3,
                content=
                "\nརིམ་གྱིས་སྦྱངས་\nམེད་ཉི་མ་ཟླ་བ་ཡང་།\n་རྡུལ་ལ་སོགས།\n",
                name="Page 3",
                vol="2",
                image_link=
                "https://iiif.bdrc.io/bdr:I1PD95847::I1PD958470003.jpg/full/max/0/default.jpg",
                note_ref="05d117045b0c4ea5aee3aeba558e94bd",
            ),
        ],
        notes=[
            NotesPage(
                id="46d97ed3d9ca4ddabc3c413f306df03a",
                page_no=4,
                content="\nརྒྱ་གར་གྱི་\n༢༦༤ ༧པེ་〉〉་\nབཞུགས་གོ།\n",
                name="Page 4",
                vol="1",
                image_link=
                "https://iiif.bdrc.io/bdr:I1PD95846::I1PD958460004.jpg/full/max/0/default.jpg",
            ),
            NotesPage(
                id="05d117045b0c4ea5aee3aeba558e94bd",
                page_no=4,
                content="\nའབྱོར་ཆེན་པོ་དེར་\nསྡུག་བསྔལ་གྱིས་\nདེ་ཡི་སྐུ་ལས་\n",
                name="Page 4",
                vol="2",
                image_link=
                "https://iiif.bdrc.io/bdr:I1PD95847::I1PD958470004.jpg/full/max/0/default.jpg",
            ),
        ],
    )
    assert text_obj == expected_text_obj
Example #19
0
 def get_page_note(self, text_id: str, page_id: str) -> str:
     page_content = from_yaml(
         (self.base_path / f"{text_id}/notes/{page_id}.yml"))
     return page_content