fnp
/
wolnelektury.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
a64e658
)
Remove race condition in building ebooks.
author
Radek Czajka
<rczajka@rczajka.pl>
Tue, 6 Oct 2020 09:09:05 +0000
(11:09 +0200)
committer
Radek Czajka
<rczajka@rczajka.pl>
Tue, 6 Oct 2020 09:09:05 +0000
(11:09 +0200)
src/catalogue/fields.py
patch
|
blob
|
history
diff --git
a/src/catalogue/fields.py
b/src/catalogue/fields.py
index
d88787e
..
52a6d1b
100644
(file)
--- a/
src/catalogue/fields.py
+++ b/
src/catalogue/fields.py
@@
-169,12
+169,7
@@
class BuildEbook(Task):
fieldfile.save(None, File(open(out.get_filename(), 'rb')), save=False)
self.set_file_permissions(fieldfile)
if book.pk is not None:
fieldfile.save(None, File(open(out.get_filename(), 'rb')), save=False)
self.set_file_permissions(fieldfile)
if book.pk is not None:
- books = type(book).objects.filter(pk=book.pk)
- books.update(**{
- fieldfile.field.attname: fieldfile
- })
- for book in books:
- book.save() # just to trigger post-save
+ book.save(update_fields=[fieldfile.field.attname])
if fieldfile.field.format_name in app_settings.FORMAT_ZIPS:
remove_zip(app_settings.FORMAT_ZIPS[fieldfile.field.format_name])
# Don't decorate BuildEbook, because we want to subclass it.
if fieldfile.field.format_name in app_settings.FORMAT_ZIPS:
remove_zip(app_settings.FORMAT_ZIPS[fieldfile.field.format_name])
# Don't decorate BuildEbook, because we want to subclass it.