annotate service/reasoning/oneShot @ 611:0996e3a91c85

oneShot can send to a dev instance Ignore-this: 37dfe0f67c01c221b861d2b3e3900051
author drewp@bigasterisk.com
date Wed, 24 Jul 2019 01:03:21 -0700
parents 79d041273e26
children c8562ace4917
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
47
0448fbd96a31 scan more input files. oneshot and immediate update features.
drewp@bigasterisk.com
parents:
diff changeset
1 #!/usr/bin/python
0448fbd96a31 scan more input files. oneshot and immediate update features.
drewp@bigasterisk.com
parents:
diff changeset
2 """
0448fbd96a31 scan more input files. oneshot and immediate update features.
drewp@bigasterisk.com
parents:
diff changeset
3 send a statement to the reasoning server for one update cycle. Args
0448fbd96a31 scan more input files. oneshot and immediate update features.
drewp@bigasterisk.com
parents:
diff changeset
4 are s/p/o in n3 notation, with many prefixes predefined here.
0448fbd96a31 scan more input files. oneshot and immediate update features.
drewp@bigasterisk.com
parents:
diff changeset
5 """
611
0996e3a91c85 oneShot can send to a dev instance
drewp@bigasterisk.com
parents: 392
diff changeset
6 import sys, requests, time, os
47
0448fbd96a31 scan more input files. oneshot and immediate update features.
drewp@bigasterisk.com
parents:
diff changeset
7 s, p, o = sys.argv[1:]
0448fbd96a31 scan more input files. oneshot and immediate update features.
drewp@bigasterisk.com
parents:
diff changeset
8
0448fbd96a31 scan more input files. oneshot and immediate update features.
drewp@bigasterisk.com
parents:
diff changeset
9 prefixes = {
328
b069bb37f817 IR remote rule
drewp@bigasterisk.com
parents: 321
diff changeset
10 '': 'http://projects.bigasterisk.com/room/',
321
79efb6fdcb95 rules updates for storage and changing
drewp@bigasterisk.com
parents: 250
diff changeset
11 'room' : 'http://projects.bigasterisk.com/room/',
79efb6fdcb95 rules updates for storage and changing
drewp@bigasterisk.com
parents: 250
diff changeset
12 'shuttle': 'http://bigasterisk.com/room/livingRoom/shuttlepro/',
79efb6fdcb95 rules updates for storage and changing
drewp@bigasterisk.com
parents: 250
diff changeset
13 'sensor': 'http://bigasterisk.com/homeauto/sensor/',
79efb6fdcb95 rules updates for storage and changing
drewp@bigasterisk.com
parents: 250
diff changeset
14 }
47
0448fbd96a31 scan more input files. oneshot and immediate update features.
drewp@bigasterisk.com
parents:
diff changeset
15
0448fbd96a31 scan more input files. oneshot and immediate update features.
drewp@bigasterisk.com
parents:
diff changeset
16 def expand(term):
129
745eff67ad40 reasoning actions: generalize them a bit but then add a bunch of special cases for mpd for now
drewp@bigasterisk.com
parents: 47
diff changeset
17 if ':' not in term or term.startswith(('<', '"', "'")):
47
0448fbd96a31 scan more input files. oneshot and immediate update features.
drewp@bigasterisk.com
parents:
diff changeset
18 return term
0448fbd96a31 scan more input files. oneshot and immediate update features.
drewp@bigasterisk.com
parents:
diff changeset
19 left, right = term.split(':', 1)
0448fbd96a31 scan more input files. oneshot and immediate update features.
drewp@bigasterisk.com
parents:
diff changeset
20 if left in prefixes:
0448fbd96a31 scan more input files. oneshot and immediate update features.
drewp@bigasterisk.com
parents:
diff changeset
21 return '<%s%s>' % (prefixes[left], right)
0448fbd96a31 scan more input files. oneshot and immediate update features.
drewp@bigasterisk.com
parents:
diff changeset
22 return term
0448fbd96a31 scan more input files. oneshot and immediate update features.
drewp@bigasterisk.com
parents:
diff changeset
23
0448fbd96a31 scan more input files. oneshot and immediate update features.
drewp@bigasterisk.com
parents:
diff changeset
24 stmt = '%s %s %s .' % (expand(s), expand(p), expand(o))
0448fbd96a31 scan more input files. oneshot and immediate update features.
drewp@bigasterisk.com
parents:
diff changeset
25 print "Sending: %s" % stmt
0448fbd96a31 scan more input files. oneshot and immediate update features.
drewp@bigasterisk.com
parents:
diff changeset
26
250
c1287ab87add fix oneshot. more time reportin
drewp@bigasterisk.com
parents: 129
diff changeset
27 t1 = time.time()
392
79d041273e26 mqtt has two devices now. various older cleanups.
drewp@bigasterisk.com
parents: 328
diff changeset
28 ret = requests.post(
611
0996e3a91c85 oneShot can send to a dev instance
drewp@bigasterisk.com
parents: 392
diff changeset
29 'http://%s/oneShot' % os.environ.get('REASONING', 'bang:9071'),
392
79d041273e26 mqtt has two devices now. various older cleanups.
drewp@bigasterisk.com
parents: 328
diff changeset
30 headers={"content-type": "text/n3"},
79d041273e26 mqtt has two devices now. various older cleanups.
drewp@bigasterisk.com
parents: 328
diff changeset
31 data=stmt.encode('ascii'))
250
c1287ab87add fix oneshot. more time reportin
drewp@bigasterisk.com
parents: 129
diff changeset
32 g = float(ret.headers['x-graph-ms'])
c1287ab87add fix oneshot. more time reportin
drewp@bigasterisk.com
parents: 129
diff changeset
33 print "%.1f ms for graph update; %.1f ms other overhead" % (g, 1000 * (time.time() - t1) - g)