Support evaluation-local configuration and names overrides
This commit is contained in:
1 parent
0bb6f7d97c
commit
d4404e4c27
36 files changed
+409
-184
No files matched your search
@@ -6,9 +6,10 @@ from unittest.mock import patch
|
||||
|
||||
from PIL import Image, ImageDraw
|
||||
|
||||
from copienator import configuration
|
||||
from copienator import CliError, EvaluationWorkspace, ExitCode, read_json
|
||||
from copienator.annotation_data import AnnotationLoadResult
|
||||
from copienator.annotation_documents import MAX_HEIGHT_PX, copy_documents
|
||||
from copienator.annotation_documents import annotation_limits, copy_documents
|
||||
from copienator.commands import annotating_with_checks as checks
|
||||
from copienator.commands import export, import_annotations, reading_annotations as reader
|
||||
from copienator.commands import reading_grouped_annotations as grouped_reader
|
||||
@@ -46,7 +47,7 @@ class CheckedDocumentTests(unittest.TestCase):
|
||||
|
||||
def generate(self, overwrite=False):
|
||||
with (
|
||||
patch.object(checks, 'MAX_HEIGHT_PX', 100),
|
||||
patch.object(configuration, 'ANNOTATION_MAX_HEIGHT_PX', 100),
|
||||
patch.object(checks.annotating, 'make_base_image', return_value=(None, 0, 0)),
|
||||
patch.object(checks.annotating, 'compose_label_image', side_effect=self.compose),
|
||||
):
|
||||
@@ -54,7 +55,7 @@ class CheckedDocumentTests(unittest.TestCase):
|
||||
overwrite=overwrite, output_mode='checks')
|
||||
|
||||
def test_splits_on_labels_and_resets_geometry_at_each_part(self):
|
||||
self.assertEqual(MAX_HEIGHT_PX, 33000)
|
||||
self.assertEqual(annotation_limits()[0], 33000)
|
||||
self.assertEqual(self.generate(), 'success')
|
||||
parts = copy_documents(self.output)
|
||||
self.assertEqual([part.name for part in parts], ['Part1', 'Part2'])
|
||||
@@ -76,7 +77,7 @@ class CheckedDocumentTests(unittest.TestCase):
|
||||
self.assertFalse((self.output / 'Part1').exists())
|
||||
|
||||
def test_pixel_limit_splits_documents_at_exact_boundary(self):
|
||||
with patch.object(checks, 'MAX_PIXELS', 6000):
|
||||
with patch.object(configuration, 'ANNOTATION_MAX_PIXELS', 6000):
|
||||
self.assertEqual(self.generate(), 'success')
|
||||
parts = copy_documents(self.output)
|
||||
self.assertEqual([read_json(p / 'bnote.json')['height'] for p in parts], [60, 40, 60])
|
||||
@@ -88,13 +89,13 @@ class CheckedDocumentTests(unittest.TestCase):
|
||||
if label == 'Ex 2':
|
||||
image = image.resize((200, image.height))
|
||||
return image, header
|
||||
with patch.object(self, 'compose', side_effect=wider), patch.object(checks, 'MAX_PIXELS', 12000):
|
||||
with patch.object(self, 'compose', side_effect=wider), patch.object(configuration, 'ANNOTATION_MAX_PIXELS', 12000):
|
||||
self.assertEqual(self.generate(), 'success')
|
||||
parts = copy_documents(self.output)
|
||||
self.assertEqual([read_json(p / 'bnote.json')['width'] for p in parts], [100, 200, 100])
|
||||
sentinel = self.output / 'sentinel'
|
||||
sentinel.write_text('previous')
|
||||
with patch.object(checks, 'MAX_PIXELS', 5999):
|
||||
with patch.object(configuration, 'ANNOTATION_MAX_PIXELS', 5999):
|
||||
with self.assertRaisesRegex(CliError, 'Copie01.*Ex 1'):
|
||||
self.generate(overwrite=True)
|
||||
self.assertEqual(sentinel.read_text(), 'previous')
|
||||
@@ -121,7 +122,7 @@ class CheckedDocumentTests(unittest.TestCase):
|
||||
def returned_parts(self):
|
||||
self.generate()
|
||||
export_root = self.root / 'Export'
|
||||
with patch.object(export, 'EXPORT_DIR', export_root):
|
||||
with patch.object(export.configuration, 'EXPORT_DIR', export_root):
|
||||
self.assertEqual(export.run(self.workspace, annotation_dir='Bnot'), ExitCode.SUCCESS)
|
||||
self.assertEqual(sorted(p.name for p in (export_root / 'Exam').iterdir()),
|
||||
['Copie01 Part1.pdf', 'Copie01 Part2.pdf'])
|
||||
|
||||
Reference in new issue
Block a user