Refactor the parsing app API
Add additional API and view tests. Add success and multi document titles strings. Make use of external mixin in the document type submit view. Puntuate all view text strings. Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
This commit is contained in:
@@ -2,6 +2,7 @@ from __future__ import unicode_literals
|
||||
|
||||
from datetime import timedelta
|
||||
|
||||
from django.apps import apps
|
||||
from django.utils.timezone import now
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
@@ -9,48 +10,62 @@ from mayan.apps.common.settings import settings_db_sync_task_delay
|
||||
|
||||
from .events import event_parsing_document_version_submit
|
||||
from .tasks import task_parse_document_version
|
||||
from .utils import get_document_version_content_iterator
|
||||
|
||||
|
||||
def method_document_submit_for_parsing(self):
|
||||
latest_version = self.latest_version
|
||||
# Don't error out if document has no version
|
||||
if latest_version:
|
||||
latest_version.submit_for_parsing()
|
||||
|
||||
|
||||
def method_document_version_submit_for_parsing(self):
|
||||
event_parsing_document_version_submit.commit(
|
||||
action_object=self.document, target=self
|
||||
)
|
||||
|
||||
task_parse_document_version.apply_async(
|
||||
eta=now() + timedelta(seconds=settings_db_sync_task_delay.value),
|
||||
kwargs={'document_version_pk': self.pk},
|
||||
)
|
||||
|
||||
|
||||
def method_get_document_content(self):
|
||||
def method_document_get_content(self):
|
||||
latest_version = self.latest_version
|
||||
|
||||
if latest_version:
|
||||
return latest_version.get_content()
|
||||
|
||||
|
||||
method_get_document_content.help_text = _(
|
||||
method_document_get_content.help_text = _(
|
||||
'Return the parsed content of the document.'
|
||||
)
|
||||
method_get_document_content.short_description = _(
|
||||
method_document_get_content.short_description = _(
|
||||
'get_content()'
|
||||
)
|
||||
|
||||
|
||||
def method_get_document_version_content(self):
|
||||
return ' '.join(
|
||||
get_document_version_content_iterator(document_version=self)
|
||||
def method_document_page_get_content(self):
|
||||
DocumentPageContent = apps.get_model(
|
||||
app_label='document_parsing', model_name='DocumentPageContent'
|
||||
)
|
||||
|
||||
try:
|
||||
page_content = self.content.content
|
||||
except DocumentPageContent.DoesNotExist:
|
||||
return ''
|
||||
else:
|
||||
return page_content
|
||||
|
||||
method_get_document_version_content.help_text = _(
|
||||
|
||||
def method_document_submit_for_parsing(self, _user=None):
|
||||
latest_version = self.latest_version
|
||||
# Don't error out if document has no version
|
||||
if latest_version:
|
||||
latest_version.submit_for_parsing(_user=_user)
|
||||
|
||||
|
||||
def method_document_version_get_content(self):
|
||||
result = []
|
||||
for page in self.pages.all():
|
||||
result.append(page.get_content())
|
||||
|
||||
return ''.join(result)
|
||||
|
||||
|
||||
method_document_version_get_content.help_text = _(
|
||||
'Return the parsed content of the document version.'
|
||||
)
|
||||
|
||||
|
||||
def method_document_version_submit_for_parsing(self, _user=None):
|
||||
event_parsing_document_version_submit.commit(
|
||||
action_object=self.document, actor=_user, target=self
|
||||
)
|
||||
|
||||
task_parse_document_version.apply_async(
|
||||
eta=now() + timedelta(seconds=settings_db_sync_task_delay.value),
|
||||
kwargs={'document_version_pk': self.pk},
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user