mirror of
https://github.com/fergalmoran/dss.api.git
synced 2025-12-26 03:09:40 +00:00
Fixed headers signal
This commit is contained in:
@@ -103,17 +103,14 @@ class Mix(BaseModel):
|
|||||||
self.slug = unique_slugify(self, self.title)
|
self.slug = unique_slugify(self, self.title)
|
||||||
|
|
||||||
self.clean_image('mix_image', Mix)
|
self.clean_image('mix_image', Mix)
|
||||||
# Check for the unlikely event that the waveform has been generated
|
|
||||||
if cdn.file_exists('{0}{1}.png'.format(settings.WAVEFORM_URL, self.uid)):
|
|
||||||
self.waveform_generated = True
|
|
||||||
try:
|
|
||||||
self.duration = mp3_length(self.get_absolute_path())
|
|
||||||
except Mp3FileNotFoundException:
|
|
||||||
# Not really bothered about this in save as it can be called before we have an mp3
|
|
||||||
pass
|
|
||||||
|
|
||||||
super(Mix, self).save(force_insert, force_update, using, update_fields)
|
super(Mix, self).save(force_insert, force_update, using, update_fields)
|
||||||
|
|
||||||
|
def set_cdn_details(self, path):
|
||||||
|
self.waveform_generated = True
|
||||||
|
self.duration = mp3_length(path)
|
||||||
|
self.save(update_fields=["waveform_generated", "duration"])
|
||||||
|
self.update_file_http_headers(self.uid, self.title)
|
||||||
|
|
||||||
def create_mp3_tags(self, prefix=""):
|
def create_mp3_tags(self, prefix=""):
|
||||||
try:
|
try:
|
||||||
tag_mp3(
|
tag_mp3(
|
||||||
|
|||||||
@@ -1,16 +1,13 @@
|
|||||||
|
from django.contrib.auth.models import User
|
||||||
from django.contrib.sessions.models import Session
|
from django.contrib.sessions.models import Session
|
||||||
from django.core.exceptions import ObjectDoesNotExist
|
from django.core.exceptions import ObjectDoesNotExist
|
||||||
from django.db.models.signals import post_save, pre_save, m2m_changed
|
from django.db.models.signals import post_save, pre_save, m2m_changed
|
||||||
from django.dispatch import Signal, receiver
|
from django.dispatch import Signal, receiver
|
||||||
|
|
||||||
from django.contrib.auth.models import User
|
|
||||||
from core.realtime import activity
|
|
||||||
|
|
||||||
from core.utils.audio.mp3 import mp3_length
|
|
||||||
from spa.models import SocialAccountLink
|
from spa.models import SocialAccountLink
|
||||||
from spa.models.activity import ActivityFollow
|
from spa.models.activity import ActivityFollow
|
||||||
from spa.models.userprofile import UserProfile
|
|
||||||
from spa.models.mix import Mix
|
from spa.models.mix import Mix
|
||||||
|
from spa.models.userprofile import UserProfile
|
||||||
|
|
||||||
waveform_generated_signal = Signal()
|
waveform_generated_signal = Signal()
|
||||||
|
|
||||||
@@ -23,10 +20,7 @@ def _waveform_generated_callback(sender, **kwargs):
|
|||||||
if uid is not None:
|
if uid is not None:
|
||||||
mix = Mix.objects.get(uid=uid)
|
mix = Mix.objects.get(uid=uid)
|
||||||
if mix is not None:
|
if mix is not None:
|
||||||
mix.waveform_generated = True
|
mix.set_cdn_details(path)
|
||||||
mix.duration = mp3_length(path)
|
|
||||||
mix.save(update_fields=["waveform_generated", "duration"])
|
|
||||||
|
|
||||||
except ObjectDoesNotExist:
|
except ObjectDoesNotExist:
|
||||||
print("Mix has still not been uploaded")
|
print("Mix has still not been uploaded")
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -36,6 +36,14 @@ def create_waveform_task(in_file, uid):
|
|||||||
logger.error("Outfile is missing")
|
logger.error("Outfile is missing")
|
||||||
|
|
||||||
|
|
||||||
|
@task(time_limit=3600)
|
||||||
|
def update_file_http_headers(uid, title):
|
||||||
|
cdn.set_azure_details(
|
||||||
|
blob_name='{0}.mp3'.format(uid),
|
||||||
|
download_name='Deep South Sounds - {0}.mp3'.format(title),
|
||||||
|
container_name='mixes')
|
||||||
|
|
||||||
|
|
||||||
@task(time_limit=3600)
|
@task(time_limit=3600)
|
||||||
def upload_to_cdn_task(filetype, uid, container_name):
|
def upload_to_cdn_task(filetype, uid, container_name):
|
||||||
source_file = os.path.join(settings.CACHE_ROOT, '{0}/{1}.{2}'.format(container_name, uid, filetype))
|
source_file = os.path.join(settings.CACHE_ROOT, '{0}/{1}.{2}'.format(container_name, uid, filetype))
|
||||||
|
|||||||
Reference in New Issue
Block a user