41 lines
1.1 KiB
Python
41 lines
1.1 KiB
Python
from __future__ import unicode_literals
|
|
|
|
from datetime import timedelta
|
|
|
|
from django.apps import apps
|
|
from django.utils.timezone import now
|
|
|
|
from mayan.apps.common.settings import settings_db_sync_task_delay
|
|
|
|
from .events import event_ocr_document_version_submit
|
|
from .tasks import task_do_ocr
|
|
|
|
|
|
def method_document_ocr_submit(self):
|
|
latest_version = self.latest_version
|
|
# Don't error out if document has no version
|
|
if latest_version:
|
|
latest_version.submit_for_ocr()
|
|
|
|
|
|
def method_document_page_get_ocr_content(self):
|
|
DocumentVersionPageOCRContent = apps.get_model(
|
|
app_label='ocr', model_name='DocumentVersionPageOCRContent'
|
|
)
|
|
|
|
try:
|
|
return self.content_object.ocr_content.content
|
|
except (AttributeError, DocumentVersionPageOCRContent.DoesNotExist):
|
|
return None
|
|
|
|
|
|
def method_document_version_ocr_submit(self):
|
|
event_ocr_document_version_submit.commit(
|
|
action_object=self.document, target=self
|
|
)
|
|
|
|
task_do_ocr.apply_async(
|
|
eta=now() + timedelta(seconds=settings_db_sync_task_delay.value),
|
|
kwargs={'document_version_pk': self.pk},
|
|
)
|