mirror of
https://github.com/fergalmoran/dss.git
synced 2026-01-06 17:04:30 +00:00
Fixed missing extensions bug in missing waveforms
This commit is contained in:
@@ -1,26 +1,36 @@
|
||||
import os
|
||||
from dss import settings
|
||||
from core.utils.waveform import generate_waveform
|
||||
|
||||
from django.core.management.base import NoArgsCommand
|
||||
|
||||
from dss import settings
|
||||
|
||||
from spa.models.Mix import Mix
|
||||
from core.tasks import create_waveform_task
|
||||
|
||||
|
||||
class Command(NoArgsCommand):
|
||||
help = "Generate all outstanding waveforms"
|
||||
def _generateWaveform(self, guid):
|
||||
output_file = 'waveforms/%s.png' % guid
|
||||
local_file = '%s/%s' % (settings.CACHE_ROOT, guid)
|
||||
if os.path.isfile(local_file):
|
||||
self._check_file(local_file, output_file)
|
||||
|
||||
def _check_file(self, local_file, output_file):
|
||||
if os.path.isfile(os.path.join(settings.MEDIA_ROOT, local_file)):
|
||||
file = os.path.join(settings.MEDIA_ROOT, output_file)
|
||||
if not os.path.isfile(file):
|
||||
print "Found missing waveform"
|
||||
generate_waveform(local_file, file)
|
||||
def _generateWaveform(self, mix):
|
||||
fileName, extension = os.path.splitext(mix.local_file.name)
|
||||
if extension == "" or extension == ".":
|
||||
extension = ".mp3"
|
||||
in_file = '%s/%s%s' % (settings.CACHE_ROOT, mix.uid, extension)
|
||||
try:
|
||||
if os.path.isfile(in_file):
|
||||
create_waveform_task.delay(in_file=in_file, mix_uid=mix.uid)
|
||||
else:
|
||||
print "File %s not fou nd" % in_file
|
||||
|
||||
except Exception, ex:
|
||||
print "Error generating waveform: %s" % ex.message
|
||||
|
||||
def handle(self, *args, **options):
|
||||
pass
|
||||
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)
|
||||
|
||||
def handle_noargs(self, **options):
|
||||
print "Scanning for missing waveforms"
|
||||
|
||||
Reference in New Issue
Block a user