Skip to content

Instantly share code, notes, and snippets.

@ignatenkobrain
Last active May 13, 2020 12:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ignatenkobrain/a7f9308bc3d1b7222dd839a4fd8f62ab to your computer and use it in GitHub Desktop.
Save ignatenkobrain/a7f9308bc3d1b7222dd839a4fd8f62ab to your computer and use it in GitHub Desktop.
#!/usr/bin/python3
import click
import koji as _koji
@click.command()
@click.option("-p", "--profile", default="koji", help="Koji profile")
@click.argument("package")
def main(package, profile):
koji = _koji.get_profile_module(profile)
session_opts = koji.grab_session_options(koji.config)
session = koji.ClientSession(koji.config.server, session_opts)
pkg = session.getPackageID(package, strict=True)
builds = session.listBuilds(packageID=pkg, state=koji.BUILD_STATES["COMPLETE"],)
with session.multicall(strict=True) as msession:
for build in builds:
if build["source"] is None:
build["source"] = msession.getTaskInfo(build["task_id"], request=True)
for build in builds:
if isinstance(build["source"], koji.VirtualCall):
build["source"] = build["source"].result["request"][0]
print("\n".join(b["source"].rsplit("#", 1)[1] for b in builds))
if __name__ == "__main__":
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment