From b5930017589c50ea0df3572976bf51440564e7fa Mon Sep 17 00:00:00 2001 From: Tomas Kopecek Date: Jan 23 2020 15:28:47 +0000 Subject: PR#1886: cli: make list-signed accepting integer params Merges #1886 https://pagure.io/koji/pull-request/1886 Fixes: #1884 https://pagure.io/koji/issue/1884 list-signed CLI with --build and --rpm options are expected IDs as string --- diff --git a/cli/koji_cli/commands.py b/cli/koji_cli/commands.py index 3b398b5..7949208 100644 --- a/cli/koji_cli/commands.py +++ b/cli/koji_cli/commands.py @@ -2040,18 +2040,24 @@ def handle_list_signed(goptions, session, args): if options.key: qopts['sigkey'] = options.key if options.rpm: - rinfo = session.getRPM(options.rpm) + rpm_info = options.rpm + try: + rpm_info = int(rpm_info) + except ValueError: + pass + rinfo = session.getRPM(rpm_info, strict=True) rpm_idx[rinfo['id']] = rinfo - if rinfo is None: - parser.error(_("No such RPM: %s") % options.rpm) if rinfo.get('external_repo_id'): parser.error(_("External rpm: %(name)s-%(version)s-%(release)s.%(arch)s@%(external_repo_name)s") % rinfo) qopts['rpm_id'] = rinfo['id'] if options.build: - binfo = session.getBuild(options.build) + build = options.build + try: + build = int(build) + except ValueError: + pass + binfo = session.getBuild(build, strict=True) build_idx[binfo['id']] = binfo - if binfo is None: - parser.error(_("No such build: %s") % options.rpm) sigs = [] rpms = session.listRPMs(buildID=binfo['id']) for rinfo in rpms: @@ -2060,7 +2066,12 @@ def handle_list_signed(goptions, session, args): else: sigs = session.queryRPMSigs(**qopts) if options.tag: - rpms, builds = session.listTaggedRPMS(options.tag, inherit=False, latest=False) + tag = options.tag + try: + tag = int(tag) + except ValueError: + pass + rpms, builds = session.listTaggedRPMS(tag, inherit=False, latest=False) tagged = {} for binfo in builds: build_idx.setdefault(binfo['id'], binfo)