Added distributed OCR queue support

This commit is contained in:
Roberto Rosario
2011-02-17 04:37:35 -04:00
parent 478fb3502e
commit 77b8a432a2
13 changed files with 66 additions and 26 deletions

View File

@@ -76,6 +76,6 @@ register_model_list_columns(Document, [
register_menu([
{'text':_('documents'), 'view':'document_create', 'links':[
document_create, document_create_multiple, document_list
],'famfam':'page','position':4}])
],'famfam':'page','position':1}])
TEMPORARY_DIRECTORY = common_settings.TEMPORARY_DIRECTORY if common_settings.TEMPORARY_DIRECTORY else tempfile.mkdtemp()

View File

@@ -34,6 +34,7 @@ STAGING_DIRECTORY = getattr(settings, 'DOCUMENTS_STAGING_DIRECTORY', u'/tmp/maya
DELETE_STAGING_FILE_AFTER_UPLOAD = getattr(settings, 'DOCUMENTS_DELETE_STAGING_FILE_AFTER_UPLOAD', False)
STAGING_FILES_PREVIEW_SIZE = getattr(settings, 'DOCUMENTS_STAGING_FILES_PREVIEW_SIZE', '640x480')
DELETE_LOCAL_ORIGINAL = getattr(settings, 'DOCUMENTS_DELETE_LOCAL_ORIGINAL', False)
AUTOMATIC_OCR = getattr(settings, 'DOCUMENTS_AUTOMATIC_OCR', False)
# Saving
CHECKSUM_FUNCTION = getattr(settings, 'DOCUMENTS_CHECKSUM_FUNCTION', lambda x: hashlib.sha256(x).hexdigest())

View File

@@ -30,6 +30,8 @@ from forms import DocumentTypeSelectForm, DocumentCreateWizard, \
from staging import StagingFile
from ocr.models import add_document_to_queue
from documents.conf.settings import DELETE_STAGING_FILE_AFTER_UPLOAD
from documents.conf.settings import USE_STAGING_DIRECTORY
from documents.conf.settings import FILESYSTEM_FILESERVING_ENABLE
@@ -39,6 +41,7 @@ from documents.conf.settings import THUMBNAIL_SIZE
from documents.conf.settings import GROUP_MAX_RESULTS
from documents.conf.settings import GROUP_SHOW_EMPTY
from documents.conf.settings import DEFAULT_TRANSFORMATIONS
from documents.conf.settings import AUTOMATIC_OCR
from documents import PERMISSION_DOCUMENT_CREATE, \
@@ -130,6 +133,9 @@ def upload_document_with_type(request, document_type_id, multiple=True):
instance.update_mimetype()
instance.update_page_count()
instance.apply_default_transformations()
if AUTOMATIC_OCR:
document_queue = add_document_to_queue(instance)
messages.success(request, _(u'Document: %s was added to the OCR queue: %s.') % (instance, document_queue.label))
if 'document_type_available_filenames' in local_form.cleaned_data:
if local_form.cleaned_data['document_type_available_filenames']:
@@ -165,7 +171,9 @@ def upload_document_with_type(request, document_type_id, multiple=True):
document.update_mimetype()
document.update_page_count()
document.apply_default_transformations()
if AUTOMATIC_OCR:
document_queue = add_document_to_queue(instance)
messages.success(request, _(u'Document: %s was added to the OCR queue: %s.') % (instance, document_queue.label))
except Exception, e:
messages.error(request, e)
else: