Files
mayan-edms/mayan/apps/file_metadata/methods.py
Roberto Rosario 21c1dc36d8 Add file metadata app
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-24 04:54:07 -04:00

64 lines
1.8 KiB
Python

from __future__ import unicode_literals
from django.utils.translation import ugettext_lazy as _
from .events import event_file_metadata_document_version_submit
from .tasks import task_process_document_version
def method_document_submit(self):
latest_version = self.latest_version
# Don't error out if document has no version
if latest_version:
latest_version.submit_for_file_metadata_processing()
def method_document_version_submit(self):
event_file_metadata_document_version_submit.commit(
action_object=self.document, target=self
)
task_process_document_version.apply_async(
kwargs={
'document_version_id': self.pk,
}
)
def method_get_document_file_metadata(self, dotted_name):
latest_version = self.latest_version
# Don't error out if document has no version
if latest_version:
return latest_version.get_file_metadata(
dotted_name=dotted_name
)
method_get_document_file_metadata.short_description = _(
'get_file_metadata(< file metadata dotted path >)'
)
method_get_document_file_metadata.help_text = _(
'Return the specified document file metadata entry.'
)
def method_get_document_version_file_metadata(self, dotted_name):
driver_internal_name, key = dotted_name.split('.')
try:
document_driver = self.file_metadata_drivers.get(
driver__internal_name=driver_internal_name
)
except self.file_metadata_drivers.model.DoesNotExist:
return
else:
try:
return document_driver.entries.get(key=key).value
except document_driver.entries.model.DoesNotExist:
return
method_get_document_version_file_metadata.help_text = _(
'Return the specified document version file metadata entry.'
)