#!/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()