3147: PySDK tests use mock>=1.0 and easier mock side_effect.
[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 logger = logging.getLogger('arvados.arv-ws')
10
11 parser = argparse.ArgumentParser()
12 parser.add_argument('-u', '--uuid', type=str, default="")
13 args = parser.parse_args()
14
15 filters = []
16 if len(args.uuid)>0: filters = [ ['object_uuid', '=', args.uuid] ]
17
18 api = arvados.api('v1', cache=False)
19
20 def on_message(ev):
21   print "\n", ev
22
23 ws = None
24 try:
25   ws = subscribe(api, filters, lambda ev: on_message(ev))
26   ws.run_forever()
27 except Exception:
28   logger.exception('')
29   if (ws):
30     ws.close_connection()