fnp
/
audio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add duration to audiobook model.
[audio.git]
/
src
/
archive
/
models.py
diff --git
a/src/archive/models.py
b/src/archive/models.py
index
721ceee
..
11917b8
100644
(file)
--- a/
src/archive/models.py
+++ b/
src/archive/models.py
@@
-4,6
+4,7
@@
import os.path
from django.db import models
from time import sleep
from django.utils.functional import cached_property
from django.db import models
from time import sleep
from django.utils.functional import cached_property
+from django.utils.timezone import now
from django.utils.translation import gettext_lazy as _
from django_pglocks import advisory_lock
import requests
from django.utils.translation import gettext_lazy as _
from django_pglocks import advisory_lock
import requests
@@
-62,6
+63,7
@@
class Audiobook(models.Model):
source_file = models.FileField(upload_to=source_upload_to, max_length=255,
verbose_name=_('source file'), editable=False)
source_sha1 = models.CharField(max_length=40, editable=False)
source_file = models.FileField(upload_to=source_upload_to, max_length=255,
verbose_name=_('source file'), editable=False)
source_sha1 = models.CharField(max_length=40, editable=False)
+ duration = models.FloatField(null=True, editable=False)
title = models.CharField(max_length=255, verbose_name=_('title'))
part_name = models.CharField(max_length=255, verbose_name=_('part name'), help_text=_('eg. chapter in a novel'),
title = models.CharField(max_length=255, verbose_name=_('title'))
part_name = models.CharField(max_length=255, verbose_name=_('part name'), help_text=_('eg. chapter in a novel'),
@@
-153,6
+155,13
@@
class Audiobook(models.Model):
.exists()
)
.exists()
)
+ def youtube_publish(self):
+ if not self.is_youtube_publishable:
+ return False
+ self.youtube_status = status.QUEUED
+ self.youtube_queued = now()
+ self.save(update_fields=['youtube_status', 'youtube_queued'])
+
def get_mp3_tags(self): return json.loads(self.mp3_tags) if self.mp3_tags else None
def get_ogg_tags(self): return json.loads(self.ogg_tags) if self.ogg_tags else None
def get_mp3_published_tags(self): return json.loads(self.mp3_published_tags) if self.mp3_published_tags else None
def get_mp3_tags(self): return json.loads(self.mp3_tags) if self.mp3_tags else None
def get_ogg_tags(self): return json.loads(self.ogg_tags) if self.ogg_tags else None
def get_mp3_published_tags(self): return json.loads(self.mp3_published_tags) if self.mp3_published_tags else None