# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
+import json
from collections import namedtuple
from django.db import models
from django.utils.translation import ugettext_lazy as _
app_label = 'catalogue'
def save(self, *args, **kwargs):
- from slughifi import slughifi
+ from fnpdjango.utils.text.slughifi import slughifi
from catalogue.utils import ExistingFile, remove_zip
try:
remove_zip("%s_%s" % (self.book.slug, self.type))
extra_info = self.extra_info
+ if isinstance(extra_info, basestring):
+ # Walkaround for weird jsonfield 'no-decode' optimization.
+ extra_info = json.loads(extra_info)
extra_info.update(self.read_meta())
self.extra_info = extra_info
self.source_sha1 = self.read_source_sha1(self.file.path, self.type)