如何使用yum Python模块获取将在接受事务之前下载的包列表?

时间:2013-06-17 01:07:31

标签: python yum

我正在编写我的第一个Yum插件,我希望用它来显示有关要在更新或安装时下载的软件包的一些信息。我已成功获得该插件运行并正确设置。 我的问题是获取在用户接受或取消交易之前将下载的软件包列表。

某个渠道中有一种方法,提供给predownload_hook(conduit)postdownload_hook(conduit)的方法,可以使用conduit.getDownloadPackages()调用,以完全按照我的要求进行操作。但是,在用户接受或拒绝事务后调用这两个钩子。根据yum Python API文档,getDownloadPackages()在其他任何地方都无法使用。

我已经在Freenode的#yum上问了几次,但没有得到答案。非常感谢解决方案或任何帮助。有一个好的。

1 个答案:

答案 0 :(得分:2)

您想使用postresolve_hook(),并遍历交易列表。要查看相当简单的复制和粘贴示例,请查看changelog插件(显示要在事务中安装/升级的所有内容的rpm更改日志)。