mirror of
https://github.com/fergalmoran/dss.git
synced 2025-12-25 19:17:35 +00:00
Fixed waveform generated task
This commit is contained in:
@@ -1,6 +1,8 @@
|
|||||||
import shutil
|
import shutil
|
||||||
from celery.task import task
|
from celery.task import task
|
||||||
import os
|
import os
|
||||||
|
from django.core.exceptions import ObjectDoesNotExist
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from django.contrib.gis.geoip import GeoIP
|
from django.contrib.gis.geoip import GeoIP
|
||||||
except ImportError:
|
except ImportError:
|
||||||
@@ -8,9 +10,10 @@ except ImportError:
|
|||||||
|
|
||||||
from core.utils.waveform import generate_waveform
|
from core.utils.waveform import generate_waveform
|
||||||
from dss import settings
|
from dss import settings
|
||||||
from spa.signals import waveform_generated
|
from spa.signals import waveform_generated_signal, update_user_geoip_signal
|
||||||
from spa.models.userprofile import UserProfile
|
from spa.models.userprofile import UserProfile
|
||||||
|
|
||||||
|
|
||||||
@task(time_limit=3600)
|
@task(time_limit=3600)
|
||||||
def create_waveform_task(in_file, uid):
|
def create_waveform_task(in_file, uid):
|
||||||
out_file = os.path.join(settings.MEDIA_ROOT, 'waveforms/%s.png' % uid)
|
out_file = os.path.join(settings.MEDIA_ROOT, 'waveforms/%s.png' % uid)
|
||||||
@@ -24,10 +27,11 @@ def create_waveform_task(in_file, uid):
|
|||||||
shutil.move(in_file, new_file)
|
shutil.move(in_file, new_file)
|
||||||
print "Uid: %s" % uid
|
print "Uid: %s" % uid
|
||||||
|
|
||||||
waveform_generated.send(sender=None, uid=uid)
|
waveform_generated_signal.send(sender=None, uid=uid)
|
||||||
else:
|
else:
|
||||||
print "Outfile is missing"
|
print "Outfile is missing"
|
||||||
|
|
||||||
|
|
||||||
@task
|
@task
|
||||||
def update_geo_info_task(ip_address, profile_id):
|
def update_geo_info_task(ip_address, profile_id):
|
||||||
try:
|
try:
|
||||||
@@ -36,13 +40,8 @@ def update_geo_info_task(ip_address, profile_id):
|
|||||||
g = GeoIP()
|
g = GeoIP()
|
||||||
city = g.city(ip)
|
city = g.city(ip)
|
||||||
country = g.country(ip)
|
country = g.country(ip)
|
||||||
try:
|
update_user_geoip_signal.send(sender=None, profile_id=profile_id, city=city['city'],
|
||||||
user = UserProfile.objects.get(pk=profile_id)
|
country=country['country'])
|
||||||
user.city = city['city']
|
|
||||||
user.country = country['country_name']
|
|
||||||
user.save()
|
|
||||||
except ObjectDoesNotExist:
|
|
||||||
pass
|
|
||||||
print "Updated user location"
|
print "Updated user location"
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
print e.message
|
print e.message
|
||||||
|
|||||||
@@ -9,10 +9,8 @@ from core.utils.audio.mp3 import mp3_length
|
|||||||
from spa.models.userprofile import UserProfile
|
from spa.models.userprofile import UserProfile
|
||||||
from spa.models.mix import Mix
|
from spa.models.mix import Mix
|
||||||
|
|
||||||
waveform_generated = Signal()
|
waveform_generated_signal = Signal()
|
||||||
|
def _waveform_generated_callback(sender, **kwargs):
|
||||||
|
|
||||||
def waveform_generated_callback(sender, **kwargs):
|
|
||||||
print "Updating model with waveform"
|
print "Updating model with waveform"
|
||||||
try:
|
try:
|
||||||
uid = kwargs['uid']
|
uid = kwargs['uid']
|
||||||
@@ -25,10 +23,18 @@ def waveform_generated_callback(sender, **kwargs):
|
|||||||
except ObjectDoesNotExist:
|
except ObjectDoesNotExist:
|
||||||
print "Mix has still not been uploaded"
|
print "Mix has still not been uploaded"
|
||||||
pass
|
pass
|
||||||
|
waveform_generated_signal.connect(_waveform_generated_callback)
|
||||||
|
|
||||||
|
update_user_geoip_signal = Signal()
|
||||||
waveform_generated.connect(waveform_generated_callback)
|
def _update_user_geoip_callback(sender, **kwargs):
|
||||||
|
try:
|
||||||
|
user = UserProfile.objects.get(pk=kwargs['profile_id'])
|
||||||
|
user.city = kwargs['city']
|
||||||
|
user.country = kwargs['country']
|
||||||
|
user.save()
|
||||||
|
except ObjectDoesNotExist:
|
||||||
|
pass
|
||||||
|
update_user_geoip_signal.connect(_update_user_geoip_callback)
|
||||||
|
|
||||||
def create_profile(sender, **kw):
|
def create_profile(sender, **kw):
|
||||||
user = kw["instance"]
|
user = kw["instance"]
|
||||||
@@ -77,3 +83,4 @@ def session_pre_save(sender, **kwargs):
|
|||||||
p.save()
|
p.save()
|
||||||
except ObjectDoesNotExist:
|
except ObjectDoesNotExist:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user