From 0acd877e6d80e4949d9060d4834d80bd00853f44 Mon Sep 17 00:00:00 2001 From: manon blanco <blanco@teklia.com> Date: Wed, 11 Nov 2020 09:53:23 +0000 Subject: [PATCH] Support worker version as an env variable for the Transkribus import --- arkindex/dataimport/models.py | 2 ++ arkindex/dataimport/tests/test_transkribus_import.py | 8 +++++--- arkindex/project/config.py | 2 ++ arkindex/project/settings.py | 1 + arkindex/project/tests/config_samples/defaults.yaml | 1 + arkindex/project/tests/config_samples/override.yaml | 1 + 6 files changed, 12 insertions(+), 3 deletions(-) diff --git a/arkindex/dataimport/models.py b/arkindex/dataimport/models.py index 01dfc88346..4380f6df6c 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 ea8f869f6d..a9dfbfb88e 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 7ac6818b77..c88c936c41 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 30621b7971..831580f6de 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 55c3c32745..2cb2c8bb54 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 fcadbc530c..5e01fcaa90 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 -- GitLab