Mercurial > code > home > repos > homeauto
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()