changeset 2282:9f18263a1dcd

effect don't panic if your triples arent there yet
author drewp@bigasterisk.com
date Mon, 29 May 2023 19:36:49 -0700
parents f31df46edfdd
children 9bdc25ed5df5
files light9/effect/effecteval.py
diffstat 1 files changed, 6 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/light9/effect/effecteval.py	Mon May 29 19:36:24 2023 -0700
+++ b/light9/effect/effecteval.py	Mon May 29 19:36:49 2023 -0700
@@ -77,6 +77,7 @@
     uri: EffectUri
 
     effectFunction: Optional[URIRef] = None
+    isEffect = False
 
     def __post_init__(self):
         self.graph.addHandler(self._compile)
@@ -84,7 +85,9 @@
 
     def _compile(self):
         if not self.graph.contains((self.uri, RDF.type, L9['Effect'])):
-            raise ValueError(f'{self.uri} not an :Effect')
+            self.isEffect = False
+            return
+        self.isEffect = True
 
         self.function = effect_scale
         devs = []
@@ -96,6 +99,8 @@
         self.devs = DeviceSettings(self.graph, devs)
 
     def compute(self, inputs: EffectSettings) -> DeviceSettings:
+        if not self.isEffect:
+            return DeviceSettings(self.graph, [])
 
         s = 0
         for e, ea, v in inputs.asList():