#!/usr/bin/env python
-import argparse
import sys
+import logging
+import argparse
+import arvados
+from arvados.events import subscribe
+
+logger = logging.getLogger('arvados.arv-ws')
parser = argparse.ArgumentParser()
parser.add_argument('-u', '--uuid', type=str, default="")
args = parser.parse_args()
-def on_message(ev):
- print "\n", ev
-
filters = []
-if len(args.uuid)>0:
- filter1 = []
- filter1.append ('object_uuid')
- filter1.append ('=')
- filter1.append (args.uuid)
- filters.append (filter1)
-
-import arvados
-from arvados.events import subscribe
+if len(args.uuid)>0: filters = [ ['object_uuid', '=', args.uuid] ]
api = arvados.api('v1', cache=False)
+def on_message(ev):
+ print "\n", ev
+
ws = None
try:
ws = subscribe(api, filters, lambda ev: on_message(ev))
ws.run_forever()
-except:
+except Exception:
+ logger.exception('')
if (ws):
ws.close_connection()
- else:
- sys.exc_info()