Mercurial > code > home > repos > homeauto
annotate service/reasoning/oneShot @ 1055:e1693cc0b992
fix oneshot. more time reportin
Ignore-this: c99ce7d8d31a8ed45bdcb8d0ad08a3aa
darcs-hash:ae1b7c90ca9331b713af23a1f9a81cfb56380845
author | drewp <drewp@bigasterisk.com> |
---|---|
date | Tue, 09 Feb 2016 22:10:38 -0800 |
parents | 3bb18b7d21df |
children | 79efb6fdcb95 |
rev | line source |
---|---|
852
6ccd930834d1
scan more input files. oneshot and immediate update features.
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
1 #!/usr/bin/python |
6ccd930834d1
scan more input files. oneshot and immediate update features.
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
2 """ |
6ccd930834d1
scan more input files. oneshot and immediate update features.
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
3 send a statement to the reasoning server for one update cycle. Args |
6ccd930834d1
scan more input files. oneshot and immediate update features.
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
4 are s/p/o in n3 notation, with many prefixes predefined here. |
6ccd930834d1
scan more input files. oneshot and immediate update features.
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
5 """ |
1055
e1693cc0b992
fix oneshot. more time reportin
drewp <drewp@bigasterisk.com>
parents:
934
diff
changeset
|
6 import sys, restkit, time |
852
6ccd930834d1
scan more input files. oneshot and immediate update features.
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
7 s, p, o = sys.argv[1:] |
6ccd930834d1
scan more input files. oneshot and immediate update features.
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
8 |
6ccd930834d1
scan more input files. oneshot and immediate update features.
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
9 prefixes = { |
6ccd930834d1
scan more input files. oneshot and immediate update features.
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
10 'room' : 'http://projects.bigasterisk.com/room/', |
934
3bb18b7d21df
reasoning actions: generalize them a bit but then add a bunch of special cases for mpd for now
drewp <drewp@bigasterisk.com>
parents:
852
diff
changeset
|
11 'shuttle': 'http://bigasterisk.com/room/livingRoom/shuttlepro/', |
852
6ccd930834d1
scan more input files. oneshot and immediate update features.
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
12 } |
6ccd930834d1
scan more input files. oneshot and immediate update features.
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
13 |
6ccd930834d1
scan more input files. oneshot and immediate update features.
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
14 def expand(term): |
934
3bb18b7d21df
reasoning actions: generalize them a bit but then add a bunch of special cases for mpd for now
drewp <drewp@bigasterisk.com>
parents:
852
diff
changeset
|
15 if ':' not in term or term.startswith(('<', '"', "'")): |
852
6ccd930834d1
scan more input files. oneshot and immediate update features.
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
16 return term |
6ccd930834d1
scan more input files. oneshot and immediate update features.
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
17 left, right = term.split(':', 1) |
6ccd930834d1
scan more input files. oneshot and immediate update features.
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
18 if left in prefixes: |
6ccd930834d1
scan more input files. oneshot and immediate update features.
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
19 return '<%s%s>' % (prefixes[left], right) |
6ccd930834d1
scan more input files. oneshot and immediate update features.
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
20 return term |
6ccd930834d1
scan more input files. oneshot and immediate update features.
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
21 |
6ccd930834d1
scan more input files. oneshot and immediate update features.
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
22 stmt = '%s %s %s .' % (expand(s), expand(p), expand(o)) |
6ccd930834d1
scan more input files. oneshot and immediate update features.
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
23 print "Sending: %s" % stmt |
6ccd930834d1
scan more input files. oneshot and immediate update features.
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
24 |
1055
e1693cc0b992
fix oneshot. more time reportin
drewp <drewp@bigasterisk.com>
parents:
934
diff
changeset
|
25 t1 = time.time() |
852
6ccd930834d1
scan more input files. oneshot and immediate update features.
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
26 reasoning = restkit.Resource("http://bang:9071/") |
1055
e1693cc0b992
fix oneshot. more time reportin
drewp <drewp@bigasterisk.com>
parents:
934
diff
changeset
|
27 ret = reasoning.post("oneShot", |
e1693cc0b992
fix oneshot. more time reportin
drewp <drewp@bigasterisk.com>
parents:
934
diff
changeset
|
28 headers={"content-type": "text/n3"}, |
e1693cc0b992
fix oneshot. more time reportin
drewp <drewp@bigasterisk.com>
parents:
934
diff
changeset
|
29 payload=stmt) |
e1693cc0b992
fix oneshot. more time reportin
drewp <drewp@bigasterisk.com>
parents:
934
diff
changeset
|
30 g = float(ret.headers['x-graph-ms']) |
e1693cc0b992
fix oneshot. more time reportin
drewp <drewp@bigasterisk.com>
parents:
934
diff
changeset
|
31 print "%.1f ms for graph update; %.1f ms other overhead" % (g, 1000 * (time.time() - t1) - g) |