Add new version upload background task

This commit is contained in:
Roberto Rosario
2014-10-25 01:58:03 -04:00
parent e0e4671ca3
commit 312cb216fc

View File

@@ -31,19 +31,33 @@ def task_upload_document(source_id, file_path, label, document_type_id, expand=F
user = None
with File(file=open(file_path, mode='rb')) as file_object:
#try:
result = source.upload_document(file_object, label=label, document_type=document_type, expand=expand, metadata_dict_list=metadata_dict_list, user=user, command_line=command_line, description=description, language=language)
#except NewDocumentVersionNotAllowed:
# messages.error(request, _(u'New version uploads are not allowed for this document.'))
source.upload_document(file_object, label=label, document_type=document_type, expand=expand, metadata_dict_list=metadata_dict_list, user=user, command_line=command_line, description=description, language=language)
# TODO: delete temporary_file
#if not document:
# if result['is_compressed'] is None:
# messages.success(request, _(u'File uploaded successfully.'))
# TODO: Report/record how was file uploaded
# if result['is_compressed'] is None:
# messages.success(request, _(u'File uploaded successfully.'))
# if result['is_compressed'] is True:
# messages.success(request, _(u'File uncompressed successfully and uploaded as individual files.'))
# if result['is_compressed'] is True:
# messages.success(request, _(u'File uncompressed successfully and uploaded as individual files.'))
# if result['is_compressed'] is False:
# messages.warning(request, _(u'File was not a compressed file, uploaded as it was.'))
# if result['is_compressed'] is False:
# messages.warning(request, _(u'File was not a compressed file, uploaded as it was.'))
@app.task(ignore_result=True)
def task_upload_new_version(source_id, file_path, document_id, user_id, version_update=None, comment=None):
source = Source.objects.get_subclass(pk=source_id)
document = Document.objects.get(pk=document_id)
if user_id:
user = User.objects.get(pk=user_id)
else:
user = None
# Use File class otherwise we get error:
# 'file' object has no attribute '_committed'
with File(file=open(file_path, mode='rb')) as file_object:
document.new_version(file=file_object, user=user, version_update=version_update, comment=comment)