2800: Allow api() caller to specify api host and token.
[arvados.git] / sdk / python / bin / arv-ws
1 #!/usr/bin/env python
2
3 import sys
4 import logging
5 import argparse
6 import arvados
7 from arvados.events import subscribe
8
9 parser = argparse.ArgumentParser()
10 parser.add_argument('-u', '--uuid', type=str, default="")
11 args = parser.parse_args()
12
13 filters = []
14 if len(args.uuid)>0: filters = [ ['object_uuid', '=', args.uuid] ]
15
16 api = arvados.api('v1', cache=False)
17
18 def on_message(ev):
19   print "\n", ev
20
21 ws = None
22 try:
23   ws = subscribe(api, filters, lambda ev: on_message(ev))
24   ws.run_forever()
25 except KeyboardInterrupt:
26   print '' # don't log it
27 except:
28   logging.exception('')
29   if (ws):
30     ws.close_connection()