From: Thomas Fillon Date: Tue, 27 May 2014 11:33:20 +0000 (+0200) Subject: Server: handle parameters setting only for analyzers X-Git-Tag: 0.6~4^2~51^2~5 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=2ea2feb6434282d6295adfa73055db680d4ea5fe;p=timeside.git Server: handle parameters setting only for analyzers --- diff --git a/timeside/server/serializers.py b/timeside/server/serializers.py index 1373209..02d60e3 100644 --- a/timeside/server/serializers.py +++ b/timeside/server/serializers.py @@ -68,18 +68,20 @@ class PresetSerializer(serializers.ModelSerializer): def validate_parameters(self, attrs, source): import timeside - processor = timeside.core.get_processor(attrs['processor'].pid)() - default_params = processor.get_parameters() - default_msg = "Defaut parameters:\n%s" % default_params - - try: - processor.validate_parameters(attrs[source]) - except ValueError as e: - msg = '\n'.join([str(e), default_msg]) - raise serializers.ValidationError(msg) - except KeyError as e: - msg = '\n'.join(['KeyError :' + unicode(e), default_msg]) - raise serializers.ValidationError(msg) + proc = timeside.core.get_processor(attrs['processor'].pid) + if proc.type == 'analyzer': + processor = proc() + default_params = processor.get_parameters() + default_msg = "Defaut parameters:\n%s" % default_params + + try: + processor.validate_parameters(attrs[source]) + except ValueError as e: + msg = '\n'.join([str(e), default_msg]) + raise serializers.ValidationError(msg) + except KeyError as e: + msg = '\n'.join(['KeyError :' + unicode(e), default_msg]) + raise serializers.ValidationError(msg) return attrs