From dbe6d158d802f33902dff779530eed38f190c960 Mon Sep 17 00:00:00 2001 From: Fergal Moran Date: Sun, 29 Sep 2013 15:46:24 +0100 Subject: [PATCH] Fixed cache path builder in waveform gen management command --- spa/management/commands/waveforms.py | 16 +++++++--------- spa/models/mix.py | 6 ++++++ 2 files changed, 13 insertions(+), 9 deletions(-) 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