fnp
/
wolnelektury.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Content warnings.
[wolnelektury.git]
/
src
/
catalogue
/
models
/
bookmedia.py
diff --git
a/src/catalogue/models/bookmedia.py
b/src/catalogue/models/bookmedia.py
index
de493d7
..
010512a
100644
(file)
--- a/
src/catalogue/models/bookmedia.py
+++ b/
src/catalogue/models/bookmedia.py
@@
-13,7
+13,13
@@
from catalogue.fields import OverwriteStorage
def _file_upload_to(i, _n):
def _file_upload_to(i, _n):
- return 'book/%(ext)s/%(name)s.%(ext)s' % {'ext': i.ext(), 'name': slugify(i.name)}
+ name = i.book.slug
+ if i.index:
+ name += f'_{i.index:03d}'
+ if i.part_name:
+ name += f'_' + slugify(i.part_name)
+ ext = i.ext()
+ return f'book/{ext}/{name}.{ext}'
class BookMedia(models.Model):
class BookMedia(models.Model):
@@
-37,10
+43,10
@@
class BookMedia(models.Model):
source_sha1 = models.CharField(null=True, blank=True, max_length=40, editable=False)
def __str__(self):
source_sha1 = models.CharField(null=True, blank=True, max_length=40, editable=False)
def __str__(self):
- return
"%s (%s)" % (self.name, self.file.name.split("/")[-1])
+ return
self.file.name.split("/")[-1]
class Meta:
class Meta:
- ordering = ('type', '
name
')
+ ordering = ('type', '
index
')
verbose_name = _('book media')
verbose_name_plural = _('book media')
app_label = 'catalogue'
verbose_name = _('book media')
verbose_name_plural = _('book media')
app_label = 'catalogue'
@@
-90,7
+96,7
@@
class BookMedia(models.Model):
import mutagen
from mutagen import id3
import mutagen
from mutagen import id3
- artist_name = director_name = project = funded_by = ''
+ artist_name = director_name = project = funded_by =
license =
''
if self.type == 'mp3':
try:
audio = id3.ID3(self.file.path)
if self.type == 'mp3':
try:
audio = id3.ID3(self.file.path)