Merge remote-tracking branch 'origin/master' into 2884-improved-picker
[arvados.git] / sdk / python / bin / arv-ws
diff --git a/sdk/python/bin/arv-ws b/sdk/python/bin/arv-ws
new file mode 100755 (executable)
index 0000000..58b6281
--- /dev/null
@@ -0,0 +1,30 @@
+#!/usr/bin/env python
+
+import sys
+import logging
+import argparse
+import arvados
+from arvados.events import subscribe
+
+parser = argparse.ArgumentParser()
+parser.add_argument('-u', '--uuid', type=str, default="")
+args = parser.parse_args()
+
+filters = []
+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 KeyboardInterrupt:
+  print '' # don't log it
+except:
+  logging.exception('')
+  if (ws):
+    ws.close_connection()