diff --git a/arkindex/documents/admin.py b/arkindex/documents/admin.py index 86a9931428042b5c9e083a3e31cc32d351947c46..780d873212e2ef2e794443df98d8b6102337004b 100644 --- a/arkindex/documents/admin.py +++ b/arkindex/documents/admin.py @@ -110,8 +110,8 @@ class ElementAdmin(admin.ModelAdmin): class TranscriptionAdmin(admin.ModelAdmin): - list_display = ('id', 'text', 'confidence', 'element', ) - fields = ('id', 'text', 'confidence', 'element', ) + list_display = ('id', 'text', 'confidence', 'orientation', 'element', ) + fields = ('id', 'text', 'confidence', 'orientation', 'element', ) readonly_fields = ('id', ) raw_id_fields = ('element', ) diff --git a/arkindex/documents/migrations/0046_transcription_orientation.py b/arkindex/documents/migrations/0046_transcription_orientation.py new file mode 100644 index 0000000000000000000000000000000000000000..d790743787e258c023c3c43cc4a59b041754b498 --- /dev/null +++ b/arkindex/documents/migrations/0046_transcription_orientation.py @@ -0,0 +1,21 @@ +# Generated by Django 3.2.6 on 2021-10-22 08:27 + +import enumfields.fields +from django.db import migrations + +import arkindex.documents.models + + +class Migration(migrations.Migration): + + dependencies = [ + ('documents', '0045_alter_element_rotation_angle'), + ] + + operations = [ + migrations.AddField( + model_name='transcription', + name='orientation', + field=enumfields.fields.EnumField(default='horizontal-lr', enum=arkindex.documents.models.TextOrientation, max_length=50), + ), + ] diff --git a/arkindex/documents/models.py b/arkindex/documents/models.py index c497296680d468ac87aabe168e2b923bc5e2afcb..be9bdb05f4ebda00185dd53adf41603d444a1d0c 100644 --- a/arkindex/documents/models.py +++ b/arkindex/documents/models.py @@ -486,6 +486,13 @@ class EntityLink(models.Model): super().save(*args, **kwargs) +class TextOrientation(Enum): + HorizontalLeftToRight = 'horizontal-lr' + HorizontalRightToLeft = 'horizontal-rl' + VerticalRightToLeft = 'vertical-rl' + VerticalLeftToRight = 'vertical-lr' + + class Transcription(models.Model): """ A transcription on: @@ -505,6 +512,7 @@ class Transcription(models.Model): blank=True, ) text = models.TextField() + orientation = EnumField(TextOrientation, default=TextOrientation.HorizontalLeftToRight, max_length=50) confidence = models.FloatField(null=True, blank=True) entities = models.ManyToManyField( Entity, diff --git a/arkindex/sql_validation/indexer_prefetch.sql b/arkindex/sql_validation/indexer_prefetch.sql index fb0d83034e1f5073e87b69ff7f7c59d5fe8f81cf..9aba9063ff974d2de0883fad4b91b5504e137686 100644 --- a/arkindex/sql_validation/indexer_prefetch.sql +++ b/arkindex/sql_validation/indexer_prefetch.sql @@ -70,6 +70,7 @@ SELECT "documents_transcription"."id", "documents_transcription"."element_id", "documents_transcription"."worker_version_id", "documents_transcription"."text", + "documents_transcription"."orientation", "documents_transcription"."confidence" FROM "documents_transcription" WHERE "documents_transcription"."element_id" IN ('{page_id}'::uuid);