from django.template.loader import render_to_string
from django.utils.translation import ugettext_lazy as _
from django.conf import settings
-from slughifi import slughifi
+from slugify import slugify
import apiclient
from catalogue.helpers import cached_in_field, GalleryMerger
-from catalogue.models import BookPublishRecord, ChunkPublishRecord
+from catalogue.models import BookPublishRecord, ChunkPublishRecord, Project
from catalogue.signals import post_publish
from catalogue.tasks import refresh_instance, book_content_updated
from catalogue.xml_tools import compile_text, split_xml
slug = models.SlugField(_('slug'), max_length=128, unique=True, db_index=True)
public = models.BooleanField(_('public'), default=True, db_index=True)
gallery = models.CharField(_('scan gallery name'), max_length=255, blank=True)
+ project = models.ForeignKey(Project, null=True, blank=True)
#wl_slug = models.CharField(_('title'), max_length=255, null=True, db_index=True, editable=False)
parent = models.ForeignKey('self', null=True, blank=True, verbose_name=_('parent'), related_name="children", editable=False)
if not title:
title = u'część %d' % (i + 1)
- slug = slughifi(title)
+ slug = slugify(title)
if i < book_len:
chunk = instance[i]
if titles is not None:
assert len(titles) == len_other
if slugs is None:
- slugs = [slughifi(t) for t in titles]
+ slugs = [slugify(t) for t in titles]
for i, chunk in enumerate(other):
# move chunk to new book
for i in range(len(self), len(other)):
title = u"pusta część %d" % i
- chunk = self.add(slughifi(title), title)
+ chunk = self.add(slugify(title), title)
chunk.commit('')
for i in range(len(other)):
parse_dublincore=parse_dublincore,
strict=strict)
- def publish(self, user):
+ def publish(self, user, fake=False):
"""
Publishes a book on behalf of a (local) user.
"""
self.assert_publishable()
changes = self.get_current_changes(publishable=True)
book_xml = self.materialize(changes=changes)
- apiclient.api_call(user, "books/", {"book_xml": book_xml})
+ if not fake:
+ apiclient.api_call(user, "books/", {"book_xml": book_xml})
# record the publish
br = BookPublishRecord.objects.create(book=self, user=user)
for c in changes: