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 """