From 055f64c1cf93794d94189510cbdd446dcf01adb1 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Mon, 25 Jul 2011 03:41:28 -0400 Subject: [PATCH] Updated OCR models to use the identical source manager SourceTransformationManager --- apps/ocr/managers.py | 22 ---------------------- apps/ocr/models.py | 7 ++++--- 2 files changed, 4 insertions(+), 25 deletions(-) diff --git a/apps/ocr/managers.py b/apps/ocr/managers.py index 156260cb2d..a28ca8b195 100644 --- a/apps/ocr/managers.py +++ b/apps/ocr/managers.py @@ -17,25 +17,3 @@ class DocumentQueueManager(models.Manager): document_queue.queuedocument_set.create(document=document, delay=True) return document_queue - - -class QueueTransformationManager(models.Manager): - def get_for_object(self, obj): - ct = ContentType.objects.get_for_model(obj) - return self.model.objects.filter(content_type=ct).filter(object_id=obj.pk) - - def get_for_object_as_list(self, obj): - warnings = [] - transformations = [] - for transformation in self.get_for_object(obj).values('transformation', 'arguments'): - try: - transformations.append( - { - 'transformation': transformation['transformation'], - 'arguments': eval(transformation['arguments'], {}) - } - ) - except Exception, e: - warnings.append(e) - - return transformations, warnings diff --git a/apps/ocr/models.py b/apps/ocr/models.py index df41623e0a..86dc40b3d5 100644 --- a/apps/ocr/models.py +++ b/apps/ocr/models.py @@ -10,11 +10,12 @@ from django.core.exceptions import ValidationError from documents.models import Document from converter.api import get_available_transformations_choices +from sources.managers import SourceTransformationManager from ocr.literals import DOCUMENTQUEUE_STATE_STOPPED, \ DOCUMENTQUEUE_STATE_CHOICES, QUEUEDOCUMENT_STATE_PENDING, \ QUEUEDOCUMENT_STATE_CHOICES -from ocr.managers import DocumentQueueManager, QueueTransformationManager +from ocr.managers import DocumentQueueManager class DocumentQueue(models.Model): @@ -53,7 +54,7 @@ class QueueDocument(models.Model): verbose_name_plural = _(u'queue documents') def get_transformation_list(self): - return QueueTransformation.objects.get_for_object_as_list(self) + return QueueTransformation.transformations.get_for_object_as_list(self) def __unicode__(self): try: @@ -95,7 +96,7 @@ class QueueTransformation(models.Model): transformation = models.CharField(choices=get_available_transformations_choices(), max_length=128, verbose_name=_(u'transformation')) arguments = models.TextField(blank=True, null=True, verbose_name=_(u'arguments'), help_text=_(u'Use dictionaries to indentify arguments, example: %s') % u'{\'degrees\':90}', validators=[ArgumentsValidator()]) - objects = QueueTransformationManager() + transformations = SourceTransformationManager() def __unicode__(self): return self.get_transformation_display()