]> git.parisson.com Git - timeside.git/commitdiff
Server: handle parameters setting only for analyzers
authorThomas Fillon <thomas@parisson.com>
Tue, 27 May 2014 11:33:20 +0000 (13:33 +0200)
committerThomas Fillon <thomas@parisson.com>
Tue, 27 May 2014 11:33:20 +0000 (13:33 +0200)
timeside/server/serializers.py

index 137320903913c32c81afb12d7d490c432a2702e8..02d60e37ff34c72afeeb796297367305f5a5f0bf 100644 (file)
@@ -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