mirror of
https://github.com/fergalmoran/dss.git
synced 2025-12-26 19:47:32 +00:00
64 lines
1.9 KiB
Python
Executable File
64 lines
1.9 KiB
Python
Executable File
from celery.task import task
|
|
from django.core.exceptions import ObjectDoesNotExist
|
|
from django.db.models.signals import post_save
|
|
from django.dispatch import Signal
|
|
from django.contrib.auth.models import User
|
|
from south import signals
|
|
from core.utils.audio.mp3 import mp3_length
|
|
|
|
from dss import settings
|
|
from spa.models import UserProfile
|
|
from spa.models.mix import Mix
|
|
|
|
waveform_generated = Signal()
|
|
|
|
|
|
def waveform_generated_callback(sender, **kwargs):
|
|
print "Updating model with waveform"
|
|
try:
|
|
uid = kwargs['uid']
|
|
if uid is not None:
|
|
mix = Mix.objects.get(uid=uid)
|
|
if mix is not None:
|
|
mix.waveform_generated = True
|
|
mix.duration = mp3_length(mix.get_absolute_path())
|
|
mix.save()
|
|
except ObjectDoesNotExist:
|
|
pass
|
|
|
|
|
|
waveform_generated.connect(waveform_generated_callback)
|
|
|
|
|
|
@task
|
|
def async_send_activity_to_message_queue(instance):
|
|
# do something with the instance.
|
|
pass
|
|
|
|
|
|
def send_activity_to_message_queue(sender, *args, **kwargs):
|
|
try:
|
|
pass
|
|
except Exception, ex:
|
|
print "Error reporting activity to message queue: %s" % ex.message
|
|
|
|
|
|
post_save.connect(send_activity_to_message_queue, sender=None)
|
|
|
|
|
|
def create_user_profile(sender, instance, created, **kwargs):
|
|
if created:
|
|
UserProfile.objects.create(user=instance)
|
|
|
|
|
|
post_save.connect(create_user_profile, sender=User, dispatch_uid="users-profilecreation")
|
|
|
|
if "notification" in settings.INSTALLED_APPS:
|
|
from notification import models as notification
|
|
|
|
def create_notice_types(app, created_models, verbosity, **kwargs):
|
|
notification.create_notice_type("new_follower", _("You have a new follower on deepsouthsounds.com"), _("You have a new follower."))
|
|
|
|
signals.post_migrate.connect(create_notice_types, sender=notification)
|
|
else:
|
|
print "Skipping creation of NoticeTypes as notification app not found" |