fnp
/
wolnelektury.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Commiting funding.css
[wolnelektury.git]
/
apps
/
catalogue
/
models
/
bookmedia.py
diff --git
a/apps/catalogue/models/bookmedia.py
b/apps/catalogue/models/bookmedia.py
index
024f713
..
fb5d588
100644
(file)
--- a/
apps/catalogue/models/bookmedia.py
+++ b/
apps/catalogue/models/bookmedia.py
@@
-2,6
+2,7
@@
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
# 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 _
from collections import namedtuple
from django.db import models
from django.utils.translation import ugettext_lazy as _
@@
-40,7
+41,7
@@
class BookMedia(models.Model):
app_label = 'catalogue'
def save(self, *args, **kwargs):
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:
from catalogue.utils import ExistingFile, remove_zip
try:
@@
-60,6
+61,9
@@
class BookMedia(models.Model):
remove_zip("%s_%s" % (self.book.slug, self.type))
extra_info = self.extra_info
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)
extra_info.update(self.read_meta())
self.extra_info = extra_info
self.source_sha1 = self.read_source_sha1(self.file.path, self.type)