mirror of
https://github.com/fergalmoran/dss.git
synced 2025-12-22 09:38:18 +00:00
Fixed waveform generated task
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
import shutil
|
||||
from celery.task import task
|
||||
import os
|
||||
from django.core.exceptions import ObjectDoesNotExist
|
||||
|
||||
try:
|
||||
from django.contrib.gis.geoip import GeoIP
|
||||
except ImportError:
|
||||
@@ -8,9 +10,10 @@ except ImportError:
|
||||
|
||||
from core.utils.waveform import generate_waveform
|
||||
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
|
||||
|
||||
|
||||
@task(time_limit=3600)
|
||||
def create_waveform_task(in_file, 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)
|
||||
print "Uid: %s" % uid
|
||||
|
||||
waveform_generated.send(sender=None, uid=uid)
|
||||
waveform_generated_signal.send(sender=None, uid=uid)
|
||||
else:
|
||||
print "Outfile is missing"
|
||||
|
||||
|
||||
@task
|
||||
def update_geo_info_task(ip_address, profile_id):
|
||||
try:
|
||||
@@ -36,13 +40,8 @@ def update_geo_info_task(ip_address, profile_id):
|
||||
g = GeoIP()
|
||||
city = g.city(ip)
|
||||
country = g.country(ip)
|
||||
try:
|
||||
user = UserProfile.objects.get(pk=profile_id)
|
||||
user.city = city['city']
|
||||
user.country = country['country_name']
|
||||
user.save()
|
||||
except ObjectDoesNotExist:
|
||||
pass
|
||||
update_user_geoip_signal.send(sender=None, profile_id=profile_id, city=city['city'],
|
||||
country=country['country'])
|
||||
print "Updated user location"
|
||||
except Exception, e:
|
||||
print e.message
|
||||
|
||||
@@ -9,10 +9,8 @@ from core.utils.audio.mp3 import mp3_length
|
||||
from spa.models.userprofile import UserProfile
|
||||
from spa.models.mix import Mix
|
||||
|
||||
waveform_generated = Signal()
|
||||
|
||||
|
||||
def waveform_generated_callback(sender, **kwargs):
|
||||
waveform_generated_signal = Signal()
|
||||
def _waveform_generated_callback(sender, **kwargs):
|
||||
print "Updating model with waveform"
|
||||
try:
|
||||
uid = kwargs['uid']
|
||||
@@ -25,10 +23,18 @@ def waveform_generated_callback(sender, **kwargs):
|
||||
except ObjectDoesNotExist:
|
||||
print "Mix has still not been uploaded"
|
||||
pass
|
||||
waveform_generated_signal.connect(_waveform_generated_callback)
|
||||
|
||||
|
||||
waveform_generated.connect(waveform_generated_callback)
|
||||
|
||||
update_user_geoip_signal = Signal()
|
||||
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):
|
||||
user = kw["instance"]
|
||||
@@ -76,4 +82,5 @@ def session_pre_save(sender, **kwargs):
|
||||
p.last_known_session = s.session_key
|
||||
p.save()
|
||||
except ObjectDoesNotExist:
|
||||
pass
|
||||
pass
|
||||
|
||||
|
||||
Reference in New Issue
Block a user