# run start = datetime.now() jid = ml.run_report(did) status = "running" # get status while (status == "running") or (status == "created"): sleep(1) try: status = ml.job_status(jid) except: sys.stdout.write("{:s} <error retrieving job status>\r".format(status)) diff = datetime.now() - start if not args["non_interactive"]: sys.stdout.write("| {:50s} | {:4s} | {:4s} | {:10s} | {:14s} |\r".format(name, did, jid, status, str(diff))) sys.stdout.flush() sys.stdout.write("| {:50s} | {:4s} | {:4s} | {:10s} | {:14s} | ".format(name, did, jid, status, str(diff))) try: sys.stdout.write(str(len(ml.get_csv_file(jid)) / (8 * 8 * 8)) + " (KB)") except: pass print if total_time: total_time = total_time + diff else: total_time = diff print "+{:s}+".format("-" * 96) print "total time: " + str(total_time)
status = "running" # get status while (status == "running") or (status == "created"): sleep(1) try: status = ml.job_status(jid) except: sys.stdout.write( "{:s} <error retrieving job status>\r".format(status)) diff = datetime.now() - start if not args['non_interactive']: sys.stdout.write( '| {:50s} | {:4s} | {:4s} | {:10s} | {:14s} |\r'.format( name, did, jid, status, str(diff))) sys.stdout.flush() sys.stdout.write('| {:50s} | {:4s} | {:4s} | {:10s} | {:14s} | '.format( name, did, jid, status, str(diff))) try: sys.stdout.write( str(len(ml.get_csv_file(jid)) / (8 * 8 * 8)) + " (KB)") except: pass print if total_time: total_time = total_time + diff else: total_time = diff print "+{:s}+".format("-" * 96) print "total time: " + str(total_time)
# History: # - 02/11/13 Jonathan Garzon initial version #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ from ML import ML, parse_url import argparse import sys parser = argparse.ArgumentParser() parser.add_argument('url', metavar='url', type=str, help='http[s]://username:password@server.') parser.add_argument('did', metavar='did', type=str, help='Report definitionId.') parser.add_argument('-filtered', help='Use report output filters.', action='store_true') args = vars(parser.parse_args()) try: (username, password, server) = parse_url(args['url']) except (ValueError, TypeError) as e: print "invalid url" sys.exit(1) ml = ML(server, {'username': username, 'password': password}) filtered = args['filtered'] jid = ml.last_job(args['did']) if filtered: ml.get_filtered_report(jid, filtered, count=1000000).print_csv() else: print ml.get_csv_file(jid)