result = create_zip.delay(paths, "%s_%s" % (self.slug, format_))
return result.wait()
- def search_index(self, book_info=None):
- if hasattr(settings, 'CELERY_ALWAYS_EAGER') and settings.CELERY_ALWAYS_EAGER:
+ def search_index(self, book_info=None, reuse_index=False):
+ if reuse_index:
idx = search.ReusableIndex()
else:
idx = search.Index()
return mark_safe(short_html)
+class Collection(models.Model):
+ """A collection of books, which might be defined before publishing them."""
+ title = models.CharField(_('title'), max_length=120, db_index=True)
+ slug = models.SlugField(_('slug'), max_length=120, primary_key=True)
+ description = models.TextField(_('description'), null=True, blank=True)
+
+ models.SlugField(_('slug'), max_length=120, unique=True, db_index=True)
+ book_slugs = models.TextField(_('book slugs'))
+
+ class Meta:
+ ordering = ('title',)
+ verbose_name = _('collection')
+ verbose_name_plural = _('collections')
+
+ def __unicode__(self):
+ return self.title
+
+
###########
#
# SIGNALS