Progress Reporting with Callbacks

class dnf.callback.Payload

Represents one item (file) from the download batch.

__str__()

Provide concise, human-readable representation of this Payload.

download_size

Total size of this Payload when transferred (e.g. over network).

class dnf.callback.DownloadProgress

Base class providing callbacks to receive information about an ongoing download.

start(total_files, total_size, total_drpms=0)

Report start of a download batch. total_files is the total number of payloads in the batch. total_size is the total number of bytes to be downloaded. total_drpms is the total number of drpms payloads in the batch.

progress(payload, done)

Report ongoing progress on the given payload. done is the number of bytes already downloaded from payload.

end(payload, status, msg)

Report finished download of a payload, Payload instance. status is a constant with the following meaning:

status value meaning
STATUS_OK Download finished successfully.
STATUS_DRPM DRPM rebuilt successfully.
STATUS_ALREADY_EXISTS Download skipped because the local file already exists.
STATUS_MIRROR Download failed on the current mirror, will try to use next mirror in the list.
STATUS_FAILED Download failed because of another error.

msg is an optional string error message further explaining the status.

class dnf.callback.TransactionProgress

Base class providing callbacks to receive information about an ongoing transaction.

error(message)

Report an error that occurred during the transaction. message is a string which describes the error.

progress(package, action, ti_done, ti_total, ts_done, ts_total)

Report ongoing progress on the given transaction item. package is the dnf.package.Package being processed and action is a constant with the following meaning:

action value meaning Appearance*
PKG_CLEANUP package cleanup is being performed. 3
PKG_DOWNGRADE package is being installed as a downgrade. 2
PKG_DOWNGRADED installed package is being downgraded. 2
PKG_INSTALL package is being installed. 2
PKG_OBSOLETE package is obsoleting another package. 2
PKG_OBSOLETED installed package is being obsoleted. 2
PKG_REINSTALL package is installed as a reinstall. 2
PKG_REINSTALLED installed package is being reinstalled. 2
PKG_REMOVE package is being removed. 2
PKG_UPGRADE package is installed as an upgrade. 2
PKG_UPGRADED installed package is being upgraded. 2
PKG_VERIFY package is being verified. 5
PKG_SCRIPTLET package scriptlet is being performed. Anytime
TRANS_PREPARATION transaction is being prepared. 1
TRANS_POST The post-trans phase started. In this case, all the other arguments are None. 4

*This is order in which state of transaction which callback action can appear. Only PKG_SCRIPTLET can appear anytime during transaction even before transaction starts.

ti_done is the number of processed bytes of the transaction item, ti_total is the total number of bytes of the transaction item, ts_done is the number of actions processed in the whole transaction and ts_total is the total number of actions in the whole transaction.