From: Guillaume Pellerin Date: Fri, 6 Mar 2015 08:16:30 +0000 (+0100) Subject: add custom dir for test samples, add boilerplate init script X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=2045a9f310eb45dcf61a6a80d5c8f3d4215c8638;p=timeside.git add custom dir for test samples, add boilerplate init script --- diff --git a/examples/sandbox/timeside b/examples/sandbox/timeside deleted file mode 120000 index 62cc3cd..0000000 --- a/examples/sandbox/timeside +++ /dev/null @@ -1 +0,0 @@ -../../../timeside \ No newline at end of file diff --git a/timeside/core/tools/test_samples.py b/timeside/core/tools/test_samples.py index ca202b1..7372d3e 100644 --- a/timeside/core/tools/test_samples.py +++ b/timeside/core/tools/test_samples.py @@ -238,17 +238,21 @@ def generate_sample_file(filename, samples_dir, gst_audio_encoder, return sample_file -def generateSamples(overwrite=False): - from timeside import __file__ as ts_file - ts_path = os.path.split(os.path.abspath(ts_file))[0] - tests_dir = os.path.abspath(os.path.join(ts_path, '../tests')) - if os.path.isdir(tests_dir): - samples_dir = os.path.abspath(os.path.join(tests_dir, 'samples')) +def generateSamples(overwrite=False, samples_dir=None): + if not samples_dir: + from timeside import __file__ as ts_file + ts_path = os.path.split(os.path.abspath(ts_file))[0] + tests_dir = os.path.abspath(os.path.join(ts_path, '../tests')) + if os.path.isdir(tests_dir): + samples_dir = os.path.abspath(os.path.join(tests_dir, 'samples')) + if not os.path.isdir(samples_dir): + os.makedirs(samples_dir) + else: + import tempfile + samples_dir = tempfile.mkdtemp(suffix="ts_samples") + else: if not os.path.isdir(samples_dir): os.makedirs(samples_dir) - else: - import tempfile - samples_dir = tempfile.mkdtemp(suffix="ts_samples") samples = dict() diff --git a/timeside/server/management/commands/timeside-tests-boilerplate.py b/timeside/server/management/commands/timeside-tests-boilerplate.py new file mode 100644 index 0000000..d2034df --- /dev/null +++ b/timeside/server/management/commands/timeside-tests-boilerplate.py @@ -0,0 +1,58 @@ +from optparse import make_option +from django.conf import settings +from django.core.management.base import BaseCommand, CommandError +from django.contrib.auth.models import User +from django.template.defaultfilters import slugify + +import os +import timeside.core +from timeside.server.models import * +from timeside.core.tools.test_samples import generateSamples + + +class Command(BaseCommand): + help = "Setup and run a boilerplate for testing" + + def cleanup(self): + for processor in Processor.objects.all(): + processor.delete() + for result in Result.objects.all(): + result.delete() + + def handle(self, *args, **options): + # NOT for production + self.cleanup() + + presets = [] + blacklist =['decoder', 'live', 'gain', 'yaafe'] + processors = timeside.core.processor.processors(timeside.core.api.IProcessor) + for proc in processors: + trig = True + for black in blacklist: + if black in proc.id(): + trig = False + if trig: + processor, c = Processor.objects.get_or_create(pid=proc.id()) + preset, c = Preset.objects.get_or_create(processor=processor, parameters='{}') + presets.append(preset) + + media_dir = 'items' + os.sep + 'tests' + samples_dir = settings.MEDIA_ROOT + media_dir + samples = generateSamples(samples_dir=samples_dir) + selection, c = Selection.objects.get_or_create(title='Tests') + + for sample in samples.iteritems(): + filename, path = sample + title = os.path.splitext(filename)[0] + path = media_dir + os.sep + filename + item, c = Item.objects.get_or_create(title=title, file=path) + if not item in selection.items.all(): + selection.items.add(item) + + experience, c = Experience.objects.get_or_create(title='All') + for preset in presets: + if not preset in experience.presets.all(): + experience.presets.add(preset) + + task, c = Task.objects.get_or_create(experience=experience, selection=selection) + task.status_setter(2)