Mercurial > code > home > repos > homeauto
comparison service/reasoning/actions.py @ 1266:ee5698ef64dd
add separate :matchPredicate support. some build and log edits.
Ignore-this: acdab8c2859e5f8622b491228d0c74dd
darcs-hash:564fab06788fee02dbb69e33c087085313fc24e1
author | drewp <drewp@bigasterisk.com> |
---|---|
date | Sat, 20 Apr 2019 23:36:30 -0700 |
parents | d8acab2b01f5 |
children | a34dee00a989 |
comparison
equal
deleted
inserted
replaced
1265:1ddd1f057749 | 1266:ee5698ef64dd |
---|---|
101 if stmt[1] == ROOM['putAgent']: | 101 if stmt[1] == ROOM['putAgent']: |
102 agentFor[stmt[0]] = stmt[2] | 102 agentFor[stmt[0]] = stmt[2] |
103 for stmt in inferred: | 103 for stmt in inferred: |
104 putUrl = deviceGraph.value(stmt[0], ROOM['putUrl']) | 104 putUrl = deviceGraph.value(stmt[0], ROOM['putUrl']) |
105 putPred = deviceGraph.value(stmt[0], ROOM['putPredicate']) | 105 putPred = deviceGraph.value(stmt[0], ROOM['putPredicate']) |
106 if putUrl and putPred == stmt[1]: | 106 matchPred = deviceGraph.value(stmt[0], ROOM['matchPredicate'], |
107 default=putPred) | |
108 if putUrl and matchPred == stmt[1]: | |
107 self._put(putUrl + '?' + urllib.urlencode([ | 109 self._put(putUrl + '?' + urllib.urlencode([ |
108 ('s', str(stmt[0])), | 110 ('s', str(stmt[0])), |
109 ('p', str(stmt[1]))]), | 111 ('p', str(putPred))]), |
110 str(stmt[2].toPython()), | 112 str(stmt[2].toPython()), |
111 agent=agentFor.get(stmt[0], None)) | 113 agent=agentFor.get(stmt[0], None)) |
112 | 114 |
113 def _putInferred(self, deviceGraph, putUrl, obj): | 115 def _putInferred(self, deviceGraph, putUrl, obj): |
114 """ | 116 """ |