コード例 #1
0
ファイル: test_workspace.py プロジェクト: hefv57/core
 def test_remove_file_group_rmdir(self):
     with copy_of_directory(
             assets.path_to('SBB0000F29300010000/data')) as tempdir:
         workspace = Workspace(self.resolver, directory=tempdir)
         self.assertTrue(exists(join(tempdir, 'OCR-D-IMG')))
         workspace.remove_file_group('OCR-D-IMG', recursive=True)
         self.assertFalse(exists(join(tempdir, 'OCR-D-IMG')))
コード例 #2
0
def test_workspace_remove_groups_unforce(workspace_directory):
    """Remove groups by pattern recursive"""

    # arrange
    original_data = ET.parse(os.path.join(workspace_directory,
                                          'mets.xml')).getroot()
    alto_groups = original_data.findall(
        './/{http://www.loc.gov/METS/}fileGrp[@USE="OCR-D-GT-ALTO"]')
    assert len(alto_groups) == 1
    altos = alto_groups[0].findall('.//{http://www.loc.gov/METS/}file')
    assert len(altos) == 2

    # act
    resolver = Resolver()
    workspace = Workspace(resolver, workspace_directory)
    workspace.remove_file_group('//OCR-D-GT.*', recursive=True)
    workspace.save_mets()

    # assert
    written_data = ET.parse(os.path.join(workspace_directory,
                                         'mets.xml')).getroot()
    assert written_data is not None
    groups_new = written_data.findall(
        './/{http://www.loc.gov/METS/}fileGrp[@USE="OCR-D-GT-ALTO"]')
    assert not groups_new
コード例 #3
0
ファイル: test_workspace.py プロジェクト: hefv57/core
 def test_remove_file_group_force(self):
     with copy_of_directory(
             assets.path_to('SBB0000F29300010000/data')) as tempdir:
         workspace = Workspace(self.resolver, directory=tempdir)
         with self.assertRaisesRegex(Exception, "No such fileGrp"):
             # raise error unless force
             workspace.remove_file_group('I DO NOT EXIST')
         # no error
         workspace.remove_file_group('I DO NOT EXIST', force=True)
コード例 #4
0
ファイル: test_workspace_remove.py プロジェクト: cclauss/core
def test_workspace_remove_group_not_found(workspace_directory):
    """Group identified by name not found raises exception"""

    resolver = Resolver()
    workspace = Workspace(resolver, workspace_directory)
    with pytest.raises(Exception) as exc:
        workspace.remove_file_group('FOO-BAR')

    assert "No such fileGrp" in str(exc)
コード例 #5
0
ファイル: test_workspace_remove.py プロジェクト: cclauss/core
def test_workspace_remove_single_group_recursive(workspace_directory):
    """Remove single group recursive by name succeeds"""

    # arrange
    resolver = Resolver()
    workspace = Workspace(resolver, workspace_directory)
    files = workspace.mets.find_files(fileGrp='OCR-D-GT-ALTO')
    assert len(files) == 2

    # act
    workspace.remove_file_group('OCR-D-GT-ALTO', recursive=True)

    # assert
    files = workspace.mets.find_files(fileGrp='OCR-D-GT-ALTO')
    assert len(files) == 0
コード例 #6
0
ファイル: test_workspace.py プロジェクト: cclauss/core
 def test_remove_file_group_force(self):
     with copy_of_directory(assets.path_to('SBB0000F29300010000/data')) as tempdir:
         workspace = Workspace(self.resolver, directory=tempdir)
         with self.assertRaisesRegex(Exception, "No such fileGrp"):
             # should fail
             workspace.remove_file_group('I DO NOT EXIST')
         # should succeed
         workspace.remove_file_group('I DO NOT EXIST', force=True)
         # should also succeed
         workspace.overwrite_mode = True
         workspace.remove_file_group('I DO NOT EXIST', force=False)