Rename source upload handling methods to be more meaningful.
This commit is contained in:
@@ -62,7 +62,7 @@ class SourcesApp(MayanAppConfig):
|
||||
'sources.tasks.task_check_interval_source': {
|
||||
'queue': 'sources_periodic'
|
||||
},
|
||||
'sources.tasks.task_source_upload_document': {
|
||||
'sources.tasks.task_source_handle_upload': {
|
||||
'queue': 'sources'
|
||||
},
|
||||
}
|
||||
|
||||
@@ -52,7 +52,7 @@ class Source(models.Model):
|
||||
def fullname(self):
|
||||
return ' '.join([self.class_fullname(), '"%s"' % self.label])
|
||||
|
||||
def _upload_document(self, document_type, file_object, label, language, user, description=None, metadata_dict_list=None):
|
||||
def upload_document(self, document_type, file_object, label, language, user, description=None, metadata_dict_list=None):
|
||||
document = document_type.new_document(
|
||||
file_object=file_object, label=label, description=description,
|
||||
language=language, _user=user
|
||||
@@ -64,8 +64,7 @@ class Source(models.Model):
|
||||
if metadata_dict_list:
|
||||
save_metadata_list(metadata_dict_list, document, create=True)
|
||||
|
||||
# TODO: Rename this method to 'handle_upload' or similar
|
||||
def upload_document(self, file_object, label, description=None, document_type=None, expand=False, language=None, metadata_dict_list=None, user=None):
|
||||
def handle_upload(self, file_object, label, description=None, document_type=None, expand=False, language=None, metadata_dict_list=None, user=None):
|
||||
if not document_type:
|
||||
document_type = self.document_type
|
||||
|
||||
@@ -73,14 +72,14 @@ class Source(models.Model):
|
||||
try:
|
||||
compressed_file = CompressedFile(file_object)
|
||||
for compressed_file_child in compressed_file.children():
|
||||
self._upload_document(document_type=document_type, file_object=compressed_file_child, description=description, label=unicode(compressed_file_child), language=language or setting_language.value, metadata_dict_list=metadata_dict_list, user=user)
|
||||
self.upload_document(document_type=document_type, file_object=compressed_file_child, description=description, label=unicode(compressed_file_child), language=language or setting_language.value, metadata_dict_list=metadata_dict_list, user=user)
|
||||
compressed_file_child.close()
|
||||
|
||||
except NotACompressedFile:
|
||||
logging.debug('Exception: NotACompressedFile')
|
||||
self._upload_document(document_type=document_type, file_object=file_object, description=description, label=label, language=language or setting_language.value, metadata_dict_list=metadata_dict_list, user=user)
|
||||
self.upload_document(document_type=document_type, file_object=file_object, description=description, label=label, language=language or setting_language.value, metadata_dict_list=metadata_dict_list, user=user)
|
||||
else:
|
||||
self._upload_document(document_type=document_type, file_object=file_object, description=description, label=label, language=language or setting_language.value, metadata_dict_list=metadata_dict_list, user=user)
|
||||
self.upload_document(document_type=document_type, file_object=file_object, description=description, label=label, language=language or setting_language.value, metadata_dict_list=metadata_dict_list, user=user)
|
||||
|
||||
def get_upload_file_object(self, form_data):
|
||||
pass
|
||||
@@ -250,7 +249,7 @@ class EmailBaseModel(IntervalBaseModel):
|
||||
logger.debug('filename: %s', filename)
|
||||
|
||||
file_object = Attachment(part, name=filename)
|
||||
source.upload_document(file_object=file_object, label=filename, expand=(source.uncompress == SOURCE_UNCOMPRESS_CHOICE_Y), document_type=source.document_type)
|
||||
source.handle_upload(file_object=file_object, label=filename, expand=(source.uncompress == SOURCE_UNCOMPRESS_CHOICE_Y), document_type=source.document_type)
|
||||
|
||||
class Meta:
|
||||
verbose_name = _('Email source')
|
||||
@@ -349,7 +348,7 @@ class WatchFolderSource(IntervalBaseModel):
|
||||
full_path = os.path.join(self.folder_path, file_name)
|
||||
if os.path.isfile(full_path):
|
||||
with File(file=open(full_path, mode='rb')) as file_object:
|
||||
self.upload_document(file_object, label=file_name, expand=(self.uncompress == SOURCE_UNCOMPRESS_CHOICE_Y))
|
||||
self.handle_upload(file_object, label=file_name, expand=(self.uncompress == SOURCE_UNCOMPRESS_CHOICE_Y))
|
||||
os.unlink(full_path)
|
||||
|
||||
class Meta:
|
||||
|
||||
@@ -27,7 +27,7 @@ def task_check_interval_source(source_id):
|
||||
|
||||
|
||||
@app.task(ignore_result=True)
|
||||
def task_source_upload_document(label, document_type_id, shared_uploaded_file_id, source_id, description=None, expand=False, language=None, metadata_dict_list=None, user_id=None):
|
||||
def task_source_handle_upload(label, document_type_id, shared_uploaded_file_id, source_id, description=None, expand=False, language=None, metadata_dict_list=None, user_id=None):
|
||||
shared_uploaded_file = SharedUploadedFile.objects.get(pk=shared_uploaded_file_id)
|
||||
source = Source.objects.get_subclass(pk=source_id)
|
||||
document_type = DocumentType.objects.get(pk=document_type_id)
|
||||
@@ -41,7 +41,7 @@ def task_source_upload_document(label, document_type_id, shared_uploaded_file_id
|
||||
label = shared_uploaded_file.filename
|
||||
|
||||
with shared_uploaded_file.open() as file_object:
|
||||
source.upload_document(description=description, document_type=document_type, expand=expand, file_object=file_object, label=label, language=language, metadata_dict_list=metadata_dict_list, user=user)
|
||||
source.handle_upload(description=description, document_type=document_type, expand=expand, file_object=file_object, label=label, language=language, metadata_dict_list=metadata_dict_list, user=user)
|
||||
|
||||
shared_uploaded_file.delete()
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ from .permissions import (
|
||||
permission_sources_setup_create, permission_sources_setup_delete,
|
||||
permission_sources_setup_edit, permission_sources_setup_view
|
||||
)
|
||||
from .tasks import task_source_upload_document
|
||||
from .tasks import task_source_handle_upload
|
||||
from .utils import get_class, get_form_class, get_upload_form_class
|
||||
|
||||
|
||||
@@ -235,7 +235,7 @@ class UploadInteractiveView(UploadBaseView):
|
||||
except Exception as exception:
|
||||
messages.error(self.request, exception)
|
||||
|
||||
task_source_upload_document.apply_async(kwargs=dict(
|
||||
task_source_handle_upload.apply_async(kwargs=dict(
|
||||
description=forms['document_form'].cleaned_data.get('description'),
|
||||
document_type_id=self.document_type.pk,
|
||||
expand=expand,
|
||||
|
||||
Reference in New Issue
Block a user