Add file metadata app
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
This commit is contained in:
63
mayan/apps/file_metadata/methods.py
Normal file
63
mayan/apps/file_metadata/methods.py
Normal file
@@ -0,0 +1,63 @@
|
||||
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.'
|
||||
)
|
||||
Reference in New Issue
Block a user