From 9efef8dac20f31b4832d3b456dabd0dd86a3ac6d Mon Sep 17 00:00:00 2001 From: Erwan Rouchet <rouchet@teklia.com> Date: Tue, 30 Jul 2024 15:47:28 +0200 Subject: [PATCH] Export dataset descriptions --- arkindex/documents/export/dataset.sql | 1 + arkindex/documents/export/structure.sql | 1 + arkindex/documents/management/commands/load_export.py | 2 +- arkindex/documents/tests/commands/test_load_export.py | 11 +++++++---- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/arkindex/documents/export/dataset.sql b/arkindex/documents/export/dataset.sql index 48d54910f0..557ba99f05 100644 --- a/arkindex/documents/export/dataset.sql +++ b/arkindex/documents/export/dataset.sql @@ -1,6 +1,7 @@ SELECT dataset.id, dataset.name, + dataset.description, dataset.state, string_agg(datasetset.name, ',') FROM training_dataset dataset diff --git a/arkindex/documents/export/structure.sql b/arkindex/documents/export/structure.sql index b3eca511e3..da2bafd292 100644 --- a/arkindex/documents/export/structure.sql +++ b/arkindex/documents/export/structure.sql @@ -171,6 +171,7 @@ CREATE TABLE metadata ( CREATE TABLE dataset ( id VARCHAR(37) NOT NULL, name VARCHAR(100) NOT NULL, + description TEXT NOT NULL, state VARCHAR(50) NOT NULL DEFAULT 'open', sets TEXT NOT NULL, PRIMARY KEY (id) diff --git a/arkindex/documents/management/commands/load_export.py b/arkindex/documents/management/commands/load_export.py index fcf94b6139..d3240d55f1 100644 --- a/arkindex/documents/management/commands/load_export.py +++ b/arkindex/documents/management/commands/load_export.py @@ -297,7 +297,7 @@ class Command(BaseCommand): corpus=self.corpus, name=row["name"], creator=self.user, - description="Imported dataset", + description=row["description"] if "description" in row.keys() else "Imported dataset", )] def convert_dataset_sets(self, row): diff --git a/arkindex/documents/tests/commands/test_load_export.py b/arkindex/documents/tests/commands/test_load_export.py index f1fca73548..ff43bf2fe3 100644 --- a/arkindex/documents/tests/commands/test_load_export.py +++ b/arkindex/documents/tests/commands/test_load_export.py @@ -13,7 +13,7 @@ from arkindex.documents.models import Corpus, Element, ElementPath, EntityType, from arkindex.documents.tasks import corpus_delete from arkindex.images.models import Image, ImageServer from arkindex.process.models import ProcessMode, Repository, Worker, WorkerRun, WorkerType, WorkerVersion -from arkindex.project.tests import FixtureTestCase +from arkindex.project.tests import FixtureTestCase, force_constraints_immediate from arkindex.training.models import Dataset, DatasetElement BASE_DIR = Path(__file__).absolute().parent @@ -211,7 +211,8 @@ class TestLoadExport(FixtureTestCase): ImageServer.objects.all().delete() WorkerVersion.objects.filter(id=reco_version.id).delete() - call_command("load_export", db_path, "--email", self.user.email, "--corpus-name", "My corpus") + with force_constraints_immediate(): + call_command("load_export", db_path, "--email", self.user.email, "--corpus-name", "My corpus") # Call dumpdata command after the import _, dump_path_after = tempfile.mkstemp(suffix=".json") @@ -247,7 +248,8 @@ class TestLoadExport(FixtureTestCase): db.commit() db.close() - call_command("load_export", temp_file, "--email", self.user.email, "--corpus-name", "My corpus") + with force_constraints_immediate(): + call_command("load_export", temp_file, "--email", self.user.email, "--corpus-name", "My corpus") corpus = Corpus.objects.get(name="My corpus") self.assertEqual(corpus.types.all().count(), 0) @@ -307,7 +309,8 @@ class TestLoadExport(FixtureTestCase): # meaning the test can only fail. ElementPath.objects.filter(element__corpus=self.corpus).delete() - call_command("load_export", db_path, "--email", self.user.email, "--corpus-name", "My corpus") + with force_constraints_immediate(): + call_command("load_export", db_path, "--email", self.user.email, "--corpus-name", "My corpus") corpus = Corpus.objects.get(name="My corpus") self.assertEqual(corpus.types.all().count(), 6) -- GitLab