class TagSubcategoryManager(models.Manager):
def __init__(self, subcategory):
super(TagSubcategoryManager, self).__init__()
class TagSubcategoryManager(models.Manager):
def __init__(self, subcategory):
super(TagSubcategoryManager, self).__init__()
def save(self, force_insert=False, force_update=False, reset_short_html=True, **kwargs):
self.sort_key = sortify(self.title)
def save(self, force_insert=False, force_update=False, reset_short_html=True, **kwargs):
self.sort_key = sortify(self.title)
cache_key = "Book.short_html/%d/%s"
for lang, langname in settings.LANGUAGES:
cache.delete(cache_key % (self.id, lang))
cache_key = "Book.short_html/%d/%s"
for lang, langname in settings.LANGUAGES:
cache.delete(cache_key % (self.id, lang))
- cache_key = "Book.short_html/%d/%s" % (self.id, get_language())
- short_html = cache.get(cache_key)
+ if self.id:
+ cache_key = "Book.short_html/%d/%s" % (self.id, get_language())
+ short_html = cache.get(cache_key)
+ else:
+ short_html = None
tags = self.tags.filter(~Q(category__in=('set', 'theme', 'book')))
tags = [mark_safe(u'<a href="%s">%s</a>' % (tag.get_absolute_url(), tag.name)) for tag in tags]
tags = self.tags.filter(~Q(category__in=('set', 'theme', 'book')))
tags = [mark_safe(u'<a href="%s">%s</a>' % (tag.get_absolute_url(), tag.name)) for tag in tags]
short_html = unicode(render_to_string('catalogue/book_short.html',
{'book': self, 'tags': tags, 'formats': formats}))
short_html = unicode(render_to_string('catalogue/book_short.html',
{'book': self, 'tags': tags, 'formats': formats}))
fragment.tags = set(list(fragment.tags) + [book_tag])
book_descendants += list(child_book.children.all())
fragment.tags = set(list(fragment.tags) + [book_tag])
book_descendants += list(child_book.children.all())
tags = {}
for child in self.children.all().order_by():
for tag_pk, value in child.tag_counter.iteritems():
tags = {}
for child in self.children.all().order_by():
for tag_pk, value in child.tag_counter.iteritems():
tags = {}
for fragment in Fragment.tagged.with_any([self.book_tag()]).order_by():
for tag in fragment.tags.filter(category='theme').order_by():
tags[tag.pk] = tags.get(tag.pk, 0) + 1
tags = {}
for fragment in Fragment.tagged.with_any([self.book_tag()]).order_by():
for tag in fragment.tags.filter(category='theme').order_by():
tags[tag.pk] = tags.get(tag.pk, 0) + 1
return '%s#m%s' % (reverse('book_text', kwargs={'slug': self.book.slug}), self.anchor)
def reset_short_html(self):
return '%s#m%s' % (reverse('book_text', kwargs={'slug': self.book.slug}), self.anchor)
def reset_short_html(self):
cache_key = "Fragment.short_html/%d/%s"
for lang, langname in settings.LANGUAGES:
cache.delete(cache_key % (self.id, lang))
def short_html(self):
cache_key = "Fragment.short_html/%d/%s"
for lang, langname in settings.LANGUAGES:
cache.delete(cache_key % (self.id, lang))
def short_html(self):
- cache_key = "Fragment.short_html/%d/%s" % (self.id, get_language())
- short_html = cache.get(cache_key)
+ if self.id:
+ cache_key = "Fragment.short_html/%d/%s" % (self.id, get_language())
+ short_html = cache.get(cache_key)
+ else:
+ short_html = None