diff --git a/spa/management/commands/waveforms.py b/spa/management/commands/waveforms.py index 4c8a33d..427177e 100755 --- a/spa/management/commands/waveforms.py +++ b/spa/management/commands/waveforms.py @@ -12,17 +12,15 @@ class Command(NoArgsCommand): def _generateWaveform(self, mix): #Check for file in mix directory - in_file = mix.get_absolute_path() try: - if os.path.isfile(in_file): - create_waveform_task.delay(in_file=in_file, uid=mix.uid) - else: - fileName, extension = os.path.splitext(mix.local_file.name) - in_file=os.path.join(os.path.join(settings.CACHE_ROOT, "mixes"), "%s.%s" % (fileName, extension)) - if os.path.isfile(in_file): - create_waveform_task.delay(in_file=in_file, uid=mix.uid) - else: + in_file = mix.get_absolute_path() + if not os.path.isfile(in_file): + in_file = mix.get_cache_path() + if not os.path.isfile(in_file): print "File %s not found" % in_file + return + + create_waveform_task.delay(in_file=in_file, uid=mix.uid) except Exception, ex: print "Error generating waveform: %s" % ex.message diff --git a/spa/models/mix.py b/spa/models/mix.py index 8fc631d..0264568 100755 --- a/spa/models/mix.py +++ b/spa/models/mix.py @@ -91,6 +91,12 @@ class Mix(_BaseModel): extension = ".mp3" return '%s/mixes/%s%s%s' % (settings.MEDIA_ROOT, prefix, self.uid, extension) + def get_cache_path(self, prefix=""): + fileName, extension = os.path.splitext(self.local_file.name) + if extension == "" or extension == ".": + extension = ".mp3" + return '%s/mixes/%s%s%s' % (settings.CACHE_ROOT, prefix, self.uid, extension) + def get_absolute_url(self): return '/mix/%s' % self.slug