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
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
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
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
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
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
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")
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
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
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
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)
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
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
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')
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
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
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
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
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