diff --git a/arkindex/dataimport/models.py b/arkindex/dataimport/models.py index 01dfc88346fa816f230cdb2eef2737f80aa9195f..4380f6df6c485a4187cefac7d6e7d4a8e157527b 100644 --- a/arkindex/dataimport/models.py +++ b/arkindex/dataimport/models.py @@ -210,6 +210,8 @@ class DataImport(IndexableModel): if self.mode == DataImportMode.Transkribus: recipe['env']['TRANSKRIBUS_EMAIL'] = settings.TRANSKRIBUS_EMAIL recipe['env']['TRANSKRIBUS_PASSWORD'] = settings.TRANSKRIBUS_PASSWORD + if settings.TRANSKRIBUS_WORKER_VERSION: + recipe['env']['TRANSKRIBUS_WORKER_VERSION'] = str(settings.TRANSKRIBUS_WORKER_VERSION) return Workflow.objects.create(recipe=yaml.dump(recipe)) def start(self, chunks=None, thumbnails=False, corpus_id=None): diff --git a/arkindex/dataimport/tests/test_transkribus_import.py b/arkindex/dataimport/tests/test_transkribus_import.py index ea8f869f6dcaca39c64bd86a5fb0ad35d0391023..a9dfbfb88e79f66c25f9032082e05df1bc5fdcfe 100644 --- a/arkindex/dataimport/tests/test_transkribus_import.py +++ b/arkindex/dataimport/tests/test_transkribus_import.py @@ -14,7 +14,7 @@ from arkindex_common.enums import DataImportMode from ponos.models import State -@override_settings(TRANSKRIBUS_EMAIL="arkindex@teklia.com", TRANSKRIBUS_PASSWORD=None) +@override_settings(TRANSKRIBUS_EMAIL="arkindex@teklia.com", TRANSKRIBUS_PASSWORD=None, TRANSKRIBUS_WORKER_VERSION="12345-12345") class TestTranskribusImport(FixtureAPITestCase): """ Test transkribus import @@ -110,7 +110,8 @@ class TestTranskribusImport(FixtureAPITestCase): 'env': { 'ARKINDEX_PROCESS_ID': str(dataimport.id), 'TRANSKRIBUS_EMAIL': settings.TRANSKRIBUS_EMAIL, - 'TRANSKRIBUS_PASSWORD': settings.TRANSKRIBUS_PASSWORD + 'TRANSKRIBUS_PASSWORD': settings.TRANSKRIBUS_PASSWORD, + 'TRANSKRIBUS_WORKER_VERSION': settings.TRANSKRIBUS_WORKER_VERSION }, 'tasks': { 'import': { @@ -170,7 +171,8 @@ class TestTranskribusImport(FixtureAPITestCase): 'env': { 'ARKINDEX_PROCESS_ID': str(dataimport.id), 'TRANSKRIBUS_EMAIL': settings.TRANSKRIBUS_EMAIL, - 'TRANSKRIBUS_PASSWORD': settings.TRANSKRIBUS_PASSWORD + 'TRANSKRIBUS_PASSWORD': settings.TRANSKRIBUS_PASSWORD, + 'TRANSKRIBUS_WORKER_VERSION': settings.TRANSKRIBUS_WORKER_VERSION }, 'tasks': { 'import': { diff --git a/arkindex/project/config.py b/arkindex/project/config.py index 7ac6818b779b76cfb939d45a64fd96d7acad2384..c88c936c41d26096a6157402a9ecf91548fff184 100644 --- a/arkindex/project/config.py +++ b/arkindex/project/config.py @@ -1,3 +1,4 @@ +import uuid from enum import Enum from pathlib import Path @@ -76,6 +77,7 @@ def get_settings_parser(base_dir): transkribus_parser = parser.add_subparser('transkribus', default={}) transkribus_parser.add_option('email', type=str, default=None) transkribus_parser.add_option('password', type=str, default=None) + transkribus_parser.add_option('worker_version', type=uuid.UUID, default=None) gitlab_parser = parser.add_subparser('gitlab', default={}) gitlab_parser.add_option('app_id', type=str, default=None) diff --git a/arkindex/project/settings.py b/arkindex/project/settings.py index 30621b7971813bed9f9f6ccb1baa00fcff587708..831580f6de052bed5982cb97842306dbe94cc510 100644 --- a/arkindex/project/settings.py +++ b/arkindex/project/settings.py @@ -244,6 +244,7 @@ CHECK_IMAGES_SAMPLE_SIZE = 20 # Transkribus credentials TRANSKRIBUS_EMAIL = conf['transkribus']['email'] TRANSKRIBUS_PASSWORD = conf['transkribus']['password'] +TRANSKRIBUS_WORKER_VERSION = conf['transkribus']['worker_version'] # GitLab OAuth GITLAB_APP_ID = conf['gitlab']['app_id'] diff --git a/arkindex/project/tests/config_samples/defaults.yaml b/arkindex/project/tests/config_samples/defaults.yaml index 55c3c3274587df20cb64a1df37d22d6310392c3f..2cb2c8bb54bc09157efac95cedf440692f5a6578 100644 --- a/arkindex/project/tests/config_samples/defaults.yaml +++ b/arkindex/project/tests/config_samples/defaults.yaml @@ -78,3 +78,4 @@ static: transkribus: email: null password: null + worker_version: null diff --git a/arkindex/project/tests/config_samples/override.yaml b/arkindex/project/tests/config_samples/override.yaml index fcadbc530ceedfd106cbd14edb82bd5b6bbf034e..5e01fcaa90a5f6d54d0d0360631079498e6f4e66 100644 --- a/arkindex/project/tests/config_samples/override.yaml +++ b/arkindex/project/tests/config_samples/override.yaml @@ -93,3 +93,4 @@ static: transkribus: email: nope@nope password: superSecret + worker_version: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa