diff --git a/spa/management/commands/waveforms.py b/spa/management/commands/waveforms.py index 76210f9..983cc4f 100644 --- a/spa/management/commands/waveforms.py +++ b/spa/management/commands/waveforms.py @@ -20,9 +20,11 @@ class Command(NoArgsCommand): generate_waveform(local_file, file) def handle(self, *args, **options): - unprocessed = Mix.objects.filter(waveform_generated=False) - for mix in unprocessed: - self._generateWaveform(mix.uid) + pass def handle_noargs(self, **options): - pass \ No newline at end of file + print "Scanning for missing waveforms" + unprocessed = Mix.objects.filter(waveform_generated=False) + for mix in unprocessed: + print "Generating waveform for mix %d" % mix.id + self._generateWaveform(mix.uid) diff --git a/spa/models/Mix.py b/spa/models/Mix.py index ab68294..bc92856 100644 --- a/spa/models/Mix.py +++ b/spa/models/Mix.py @@ -1,6 +1,7 @@ import os import rfc822 from datetime import datetime +import urlparse from sorl.thumbnail import get_thumbnail from django.contrib.sites.models import Site @@ -75,10 +76,14 @@ class Mix(_BaseModel): return os.path.join(settings.MEDIA_ROOT, "waveforms/", "%s.%s" % (self.uid, "png")) def get_waveform_url(self): - waveform_root = localsettings.WAVEFORM_URL if hasattr(localsettings, - 'WAVEFORM_URL') else "%s/waveforms/" % settings.MEDIA_URL - ret = "%s/%s.%s" % (waveform_root, self.uid, "png") - return url.urlclean(ret) + if self.waveform_generated: + waveform_root = localsettings.WAVEFORM_URL if hasattr(localsettings, + 'WAVEFORM_URL') else "%swaveforms" % settings.MEDIA_URL + ret = "%s/%s.%s" % (waveform_root, self.uid, "png") + return url.urlclean(ret) + + else: + return urlparse.urljoin(settings.STATIC_URL, "img/waveform-processing.gif") def _get_social_image(self): if self.user: