def main(args): '''Retrieve all instrument deployment events, group them by array subsite, and print the response as a JSON object''' status = 1 # Create the UFrame instance if args.base_url: uframe = UFrame(base_url=args.base_url, timeout=args.timeout) else: uframe = UFrame(timeout=args.timeout) # Fetch the events request uframe.fetch_events() if not uframe.events: sys.stderr.write('No events requested: {:s}\n'.format(uframe)) sys.stdout.write('[]\n') return status # Get only the .DeploymentEvents deployment_events = uframe.search_events_by_type('.DeploymentEvent') if not deployment_events: sys.stderr.write('No .DeploymentEvents found: {:s}\n'.format(uframe)) sys.stdout.write('[]\n') return status # Create the grouping of instrument deployments organized by array subsite instruments = group_instrument_deployment_events_by_subsite(deployment_events) # JSON encode and print to STDOUT sys.stdout.write('{:s}\n'.format(json.dumps(instruments))) status = 0 return status