changeset 1966:e4bdc5370fa7

collector erroring Ignore-this: 42fc8af29f4f35cf8d6a855ed5204041
author drewp@bigasterisk.com
date Fri, 07 Jun 2019 23:41:42 +0000
parents 191387547a53
children 38c1e8c18215
files light9/collector/collector.py light9/collector/output.py
diffstat 2 files changed, 7 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/light9/collector/collector.py	Fri Jun 07 00:49:18 2019 +0000
+++ b/light9/collector/collector.py	Fri Jun 07 23:41:42 2019 +0000
@@ -37,8 +37,10 @@
             except Exception:
                 log.warn('dev %r :dmxUniverse %r', dev, universe)
                 raise
-            dmxBase = DmxIndex(
-                cast(Literal, graph.value(dev, L9['dmxBase'])).toPython())
+            base = graph.value(dev, L9['dmxBase'])
+            if base is None:
+                raise ValueError('no :dmxBase for %s' % dev)
+            dmxBase = DmxIndex(cast(Literal, base).toPython())
             for row in graph.objects(dc, L9['attr']):
                 outputAttr = cast(OutputAttr,
                                   graph.value(row, L9['outputAttr']))
--- a/light9/collector/output.py	Fri Jun 07 00:49:18 2019 +0000
+++ b/light9/collector/output.py	Fri Jun 07 23:41:42 2019 +0000
@@ -136,6 +136,9 @@
                     self._writeOverflow += 1
                     return
 
+                if e.errno == 19:  # no such dev; usb hw restarted
+                    reactor.crash()
+
                 msg = 'usb: sending %s bytes to %r; error %r' % (len(buf),
                                                                  self.uri, e)
                 log.warn(msg)