changeset 1403:69b3f5b3aeda

comments and logging Ignore-this: 75df9bd5008caef0fd53eaa811f1500a darcs-hash:8d054c76bd9180e8f13b0a84bc7817e3937ed79a
author drewp <drewp@bigasterisk.com>
date Tue, 23 Jul 2019 10:16:59 -0700
parents 5373c5cc03c4
children 025c91f8baa4
files service/reasoning/actions.py service/reasoning/reasoning.py
diffstat 2 files changed, 12 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/service/reasoning/actions.py	Tue Jul 23 10:16:14 2019 -0700
+++ b/service/reasoning/actions.py	Tue Jul 23 10:16:59 2019 -0700
@@ -12,7 +12,7 @@
 class Actions(object):
     def __init__(self, sendToLiveClients):
         self.sendToLiveClients = sendToLiveClients
-        
+
     def putResults(self, deviceGraph, inferred):
         """
         some conclusions in the inferred graph lead to PUT requests
@@ -51,6 +51,7 @@
                       deviceGraph.qname(pred))
             inferredObjects = list(inferred.objects(dev, pred))
             if len(inferredObjects) == 0:
+                # rm this- use activated instead
                 self._putZero(deviceGraph, dev, pred, url)
             elif len(inferredObjects) == 1:
                 log.debug('  inferredObject: %s %s %r',
@@ -74,7 +75,7 @@
           ?osp a :OneShotPost
           ?osp :subject ?s
           ?osp :predicate ?p
-        this will cause a post to ?o 
+        this will cause a post to ?o
         """
         # nothing in this actually makes them one-shot yet. they'll
         # just fire as often as we get in here, which is not desirable
@@ -101,11 +102,14 @@
             if stmt[1] == ROOM['putAgent']:
                 agentFor[stmt[0]] = stmt[2]
         for stmt in inferred:
+            log.info('inferred stmt we might PUT: %s', stmt)
             putUrl = deviceGraph.value(stmt[0], ROOM['putUrl'])
             putPred = deviceGraph.value(stmt[0], ROOM['putPredicate'])
             matchPred = deviceGraph.value(stmt[0], ROOM['matchPredicate'],
                                           default=putPred)
             if putUrl and matchPred == stmt[1]:
+                log.info('putDevices: stmt %r %r %r leds to putting at %r',
+                         stmt[0], stmt[1], stmt[2], putUrl)
                 self._put(putUrl + '?' + urllib.urlencode([
                     ('s', str(stmt[0])),
                     ('p', str(putPred))]),
@@ -125,7 +129,7 @@
         else:
             log.warn("    don't know what payload to put for %s. obj=%r",
                         putUrl, obj)
-                
+
     def _putZero(self, deviceGraph, dev, pred, putUrl):
         # zerovalue should be a function of pred as well.
         value = deviceGraph.value(dev, ROOM.zeroValue)
@@ -134,7 +138,7 @@
             self._put(putUrl, payload=str(value))
             # this should be written back into the inferred graph
             # for feedback
-        
+
     def _put(self, url, payload, agent=None):
         assert isinstance(payload, bytes)
         def err(e):
--- a/service/reasoning/reasoning.py	Tue Jul 23 10:16:14 2019 -0700
+++ b/service/reasoning/reasoning.py	Tue Jul 23 10:16:59 2019 -0700
@@ -19,7 +19,6 @@
 
 import json, time, traceback, sys
 from logging import getLogger, DEBUG, WARN
-sys.path.append('/opt') # docker is putting lib/ here
 
 from colorlog import ColoredFormatter
 from docopt import docopt
@@ -35,8 +34,8 @@
 from actions import Actions
 from inputgraph import InputGraph
 from escapeoutputstatements import unquoteOutputStatements
-
-from standardservice.logsetup import log
+ 
+from standardservice.logsetup import log, verboseLogging
 
 
 ROOM = Namespace("http://projects.bigasterisk.com/room/")
@@ -271,7 +270,7 @@
 def configLogging(arg):
     log.setLevel(WARN)
     
-    if arg['-i'] or arg['-r'] or arg['-o']:
+    if arg['-i'] or arg['-r'] or arg['-o'] or arg['-v']:
         log.handlers[0].setFormatter(ColoredFormatter("%(log_color)s%(levelname)-8s %(name)-6s %(filename)-12s:%(lineno)-3s %(funcName)-20s%(reset)s %(white)s%(message)s",
         datefmt=None,
         reset=True,
@@ -304,6 +303,7 @@
     -i                Verbose log on the input phase
     -r                Verbose log on the reasoning phase and web stuff
     -o                Verbose log on the actions/output phase
+    -v                Everywhere verbose
     """)
     
     r = Reasoning()