From 8d19016b0fc6e17e8dbf86cf52e3d697f366c583 Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Fri, 20 Mar 2015 17:33:46 +0100 Subject: [PATCH] merge boilerplate --- .../commands/telemeta-create-boilerplate.py | 71 +++++++++++++++++++ .../commands/telemeta-test-boilerplate.py | 36 ---------- .../commands/telemeta-timeside-boilerplate.py | 61 ---------------- 3 files changed, 71 insertions(+), 97 deletions(-) create mode 100644 telemeta/management/commands/telemeta-create-boilerplate.py delete mode 100644 telemeta/management/commands/telemeta-test-boilerplate.py delete mode 100644 telemeta/management/commands/telemeta-timeside-boilerplate.py diff --git a/telemeta/management/commands/telemeta-create-boilerplate.py b/telemeta/management/commands/telemeta-create-boilerplate.py new file mode 100644 index 00000000..12060871 --- /dev/null +++ b/telemeta/management/commands/telemeta-create-boilerplate.py @@ -0,0 +1,71 @@ +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 +from telemeta.models import * + + +class Command(BaseCommand): + help = "Setup and run a boilerplate for testing" + cleanup = True + code = 'Tests' + + def processor_cleanup(self): + for processor in Processor.objects.all(): + processor.delete() + + def result_cleanup(self): + for result in Result.objects.all(): + result.delete() + + def handle(self, *args, **options): + collection, c = MediaCollection.objects.get_or_create(title=self.code, + code=self.code) + selection, c = Selection.objects.get_or_create(title='Tests') + + if c: + presets = [] + blacklist =['decoder', 'live', 'gain', 'vamp'] + 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) + + 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) + if self.cleanup: + for result in item.results.all(): + result.delete() + mediaitem, c = MediaItem.objects.get_or_create(title=title, + code=self.code + '-' + slugify(filename), + file=path, collection=collection) + + + 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 = Task(experience=experience, selection=selection) + task.save() diff --git a/telemeta/management/commands/telemeta-test-boilerplate.py b/telemeta/management/commands/telemeta-test-boilerplate.py deleted file mode 100644 index c5e9559d..00000000 --- a/telemeta/management/commands/telemeta-test-boilerplate.py +++ /dev/null @@ -1,36 +0,0 @@ -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 -from telemeta.models import * -from timeside.core.tools.test_samples import generateSamples - - -class Command(BaseCommand): - help = "Setup and run a boilerplate for testing" - - code = 'Tests' - - def handle(self, *args, **options): - # NOT for production - # self.processor_cleanup() - # self.result_cleanup() - - media_dir = 'items' + os.sep + 'tests' - samples_dir = settings.MEDIA_ROOT + media_dir - samples = generateSamples(samples_dir=samples_dir) - - collection, c = MediaCollection.objects.get_or_create(title=self.code, - code=self.code) - - for sample in samples.iteritems(): - filename, path = sample - title = os.path.splitext(filename)[0] - path = media_dir + os.sep + filename - item, c = MediaItem.objects.get_or_create(title=title, - code=self.code + '-' + slugify(filename), - file=path, collection=collection) - diff --git a/telemeta/management/commands/telemeta-timeside-boilerplate.py b/telemeta/management/commands/telemeta-timeside-boilerplate.py deleted file mode 100644 index fbb4f2a6..00000000 --- a/telemeta/management/commands/telemeta-timeside-boilerplate.py +++ /dev/null @@ -1,61 +0,0 @@ -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" - cleanup = True - - def processor_cleanup(self): - for processor in Processor.objects.all(): - processor.delete() - - def result_cleanup(self): - for result in Result.objects.all(): - result.delete() - - def handle(self, *args, **options): - presets = [] - blacklist =['decoder', 'live', 'gain'] - 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) - if self.cleanup: - for result in item.results.all(): - result.delete() - - 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 = Task(experience=experience, selection=selection) - task.status_setter(2) -- 2.39.5