def test_rename_file_group(self): with copy_of_directory(assets.path_to('kant_aufklaerung_1784-page-region-line-word_glyph/data')) as tempdir: workspace = Workspace(self.resolver, directory=tempdir) with pushd_popd(tempdir): pcgts_before = page_from_file(next(workspace.mets.find_files(ID='OCR-D-GT-SEG-WORD_0001'))) assert pcgts_before.get_Page().imageFilename == 'OCR-D-IMG/OCR-D-IMG_0001.tif' # from os import system # print(system('find')) workspace.rename_file_group('OCR-D-IMG', 'FOOBAR') # print(system('find')) pcgts_after = page_from_file(next(workspace.mets.find_files(ID='OCR-D-GT-SEG-WORD_0001'))) assert pcgts_after.get_Page().imageFilename == 'FOOBAR/OCR-D-IMG_0001.tif' assert Path('FOOBAR/OCR-D-IMG_0001.tif').exists() assert not Path('OCR-D-IMG/OCR-D-IMG_0001.tif').exists()
def test_rename_file_group(tmp_path): # arrange copytree( assets.path_to( 'kant_aufklaerung_1784-page-region-line-word_glyph/data'), str(tmp_path)) workspace = Workspace(Resolver(), directory=str(tmp_path)) # before act # TODO clear semantics # requires rather odd additional path-setting because root path from # workspace is not propagated - works only if called inside workspace # which can be achieved with pushd_popd functionalities ocrd_file = next(workspace.mets.find_files(ID='OCR-D-GT-SEG-WORD_0001')) relative_name = ocrd_file.local_filename ocrd_file.local_filename = join(tmp_path, relative_name) pcgts_before = page_from_file(ocrd_file) # before assert assert pcgts_before.get_Page( ).imageFilename == 'OCR-D-IMG/OCR-D-IMG_0001.tif' # act workspace.rename_file_group('OCR-D-IMG', 'FOOBAR') next_ocrd_file = next( workspace.mets.find_files(ID='OCR-D-GT-SEG-WORD_0001')) next_ocrd_file.local_filename = join(tmp_path, relative_name) pcgts_after = page_from_file(next_ocrd_file) # assert assert pcgts_after.get_Page().imageFilename == 'FOOBAR/FOOBAR_0001.tif' assert Path(tmp_path / 'FOOBAR/FOOBAR_0001.tif').exists() assert not Path('OCR-D-IMG/OCR-D-IMG_0001.tif').exists() assert workspace.mets.get_physical_pages( for_fileIds=['OCR-D-IMG_0001']) == [None] assert workspace.mets.get_physical_pages(for_fileIds=['FOOBAR_0001']) == [ 'phys_0001' ]