From 1d97c429eb133d2dd997e4ebe03caf9b9da4437e Mon Sep 17 00:00:00 2001 From: Mike McLean Date: Apr 05 2025 01:00:54 +0000 Subject: add more options, adjust time display --- diff --git a/cli/koji_cli/commands.py b/cli/koji_cli/commands.py index 4cb34f4..f5ca09e 100644 --- a/cli/koji_cli/commands.py +++ b/cli/koji_cli/commands.py @@ -8411,6 +8411,14 @@ def handle_scheduler_logs(goptions, session, args): help="Filter by task ID") parser.add_option("--host", type="str", action="store", help="Filter by host (name/ID)") + parser.add_option("--channel", type="str", action="store", + help="Filter by task channel (name/ID)") + parser.add_option("--arch", type="str", action="store", + help="Filter by task arch") + parser.add_option("--method", type="str", action="store", + help="Filter by task method") + parser.add_option("--owner", type="str", action="store", + help="Filter by task owner (name/ID)") parser.add_option("--from", type="float", action="store", dest="from_ts", help="Logs from given timestamp") parser.add_option("--to", type="float", action="store", dest="to_ts", @@ -8432,8 +8440,24 @@ def handle_scheduler_logs(goptions, session, args): try: host_id = int(options.host) except ValueError: - host_id = session.getHost(options.host)['id'] + host_id = session.getHost(options.host, strict=True)['id'] clauses.append(['host_id', host_id]) + if options.channel: + try: + channel_id = int(options.channel) + except ValueError: + channel_id = session.getChannel(options.channel, strict=True)['id'] + clauses.append(['channel_id', channel_id]) + if options.arch: + clauses.append(['arch', options.arch]) + if options.method: + clauses.append(['method', options.method]) + if options.owner: + try: + owner_id = int(options.owner) + except ValueError: + owner_id = session.getUser(options.owner, strict=True)['id'] + clauses.append(['owner', owner_id]) if options.from_ts: clauses.append(['msg_ts', '>=', options.from_ts]) if options.to_ts: @@ -8454,7 +8478,7 @@ def handle_scheduler_logs(goptions, session, args): if session.hub_version >= (1, 34, 1): kwargs['opts'] = {'order': '-id', 'limit': options.limit} - mask = ("%(task_id)-10s %(host_name)-20s %(time)-25s %(msg)-30s") + mask = ("%(time)-20s %(task_id)-10s %(host_name)-30s %(msg)-30s") if not goptions.quiet: h = mask % { 'task_id': 'Task', @@ -8481,7 +8505,7 @@ def handle_scheduler_logs(goptions, session, args): logs.sort(key=lambda r: r['id']) for log in logs: - log['time'] = time.asctime(time.localtime(log['msg_ts'])) + log['time'] = koji.formatTime(log['msg_ts']) for log in logs: print(mask % log) @@ -8496,7 +8520,6 @@ def handle_scheduler_logs(goptions, session, args): kwargs['opts'] = {'order': 'id'} kwargs['clauses'] = clauses + [['id', '>', last_id]] time.sleep(goptions.poll_interval) - continue def handle_promote_build(goptions, session, args):