diff service/reasoning/actions.py @ 1560:c3d699b5759c

more py3 fixes Ignore-this: f212b4a5edf8e599e9efd70bc65e7651 darcs-hash:d944ca9d7d7b36c2c02529dcf9225a99c0aa1831
author drewp <drewp@bigasterisk.com>
date Fri, 14 Feb 2020 00:33:31 -0800
parents d36d3b9ae516
children c8562ace4917
line wrap: on
line diff
--- a/service/reasoning/actions.py	Fri Feb 14 00:33:14 2020 -0800
+++ b/service/reasoning/actions.py	Fri Feb 14 00:33:31 2020 -0800
@@ -72,7 +72,7 @@
                 self._put(putUrl + '?' + urllib.parse.urlencode([
                     ('s', str(stmt[0])),
                     ('p', str(putPred))]),
-                          str(stmt[2].toPython()),
+                          payload=str(stmt[2].toPython()),
                           agent=agentFor.get(stmt[0], None),
                           refreshSecs=self._getRefreshSecs(stmt[0]))
                 activated.add((stmt[0],
@@ -146,10 +146,7 @@
         return self.inputGraph.rxValue(target, ROOM['refreshPutValue'],
                                        default=Literal('30s'))#.map(secsFromLiteral)
 
-    def _put(self, url, payload, refreshSecs, agent=None):
-        if isinstance(payload, str):
-            payload = payload.encode('utf8')
-        assert isinstance(payload, bytes)
+    def _put(self, url, payload: str, refreshSecs, agent=None):
         self.putOutputs.put(url, payload, agent, refreshSecs)
 
 import cyclone.sse
@@ -169,9 +166,9 @@
     def loop(self):
         if not self.bound:
             return
-
-        self.sendEvent(message=json.dumps({
+        puts = {
             'puts': [row.report() for _, row in
                      sorted(self.actions.putOutputs.state.items())],
-        }), event='update')
+        }
+        self.sendEvent(message=json.dumps(puts).encode('utf8'), event=b'update')
         reactor.callLater(1, self.loop)