2896: add arv-ws cli tool to arv.
[arvados.git] / sdk / python / bin / arv-ws
1 #!/usr/bin/env python
2
3 import argparse
4 import sys
5
6 parser = argparse.ArgumentParser()
7 parser.add_argument('-u', '--uuid', type=str, default="")
8 args = parser.parse_args()
9
10 def on_message(ev):
11   print "\n", ev
12
13 filters = []
14 if len(args.uuid)>0:
15   filter1 = []
16   filter1.append ('object_uuid')
17   filter1.append ('=')
18   filter1.append (args.uuid)
19   filters.append (filter1)
20
21 import arvados
22 from arvados.events import subscribe
23
24 api = arvados.api('v1', cache=False)
25
26 ws = None
27 try:
28   ws = subscribe(api, filters, lambda ev: on_message(ev))
29   ws.run_forever()
30 except:
31   if (ws):
32     ws.close_connection()
33   else:
34     sys.exc_info()