def user_main(args): """Main program for 'user' mode :return: Status of run, 0=OK :rtype: int """ g_log.info("query.begin") if args.fmt == 'json': w = kvp.LogWriter(sys.stdout, fmt=log.LOG_FORMAT_JSON) elif args.fmt == 'kvp': w = kvp.LogWriter(sys.stdout, fmt=log.LOG_FORMAT_NL) elif args.fmt == 'table': w = kvp.TableWriter(sys.stdout, idlen=args.idlen, pagelen=args.pagelen) return_code = -1 if args.fields: fields = [x.strip() for x in args.fields.split(',')] else: fields = None try: for rec in log.query(spec=args.exprs): if fields: rec.project(fields, copy=False) w.put(rec) w.close() return_code = 0 except log.BuildQueryError as err: g_log.error("Invalid query: {}".format(err)) except ValueError as err: g_log.error(str(err)) g_log.info("query.end") return return_code
def get_last_program_id(): for rec in log.query(['{} != user'.format(Keyword.EVENT), '{} = {}'.format(Keyword.EVENT, "RUN"), '{} ~ {}'.format(Keyword.NODETYPE, "template.*")]): prgm_id = rec[Keyword.PROGRAM_UID] assert prgm_id != None return prgm_id