Main Page | Modules | Data Structures | File List | Data Fields | Globals | Related Pages

Rpmdb Class Reference
[PYTHON API.]

A python rpmdb object represents an RPM database. More...


Detailed Description

A python rpmdb object represents an RPM database.

Instances of the rpmdb object provide access to the records of a RPM database. The records are accessed by index number. To retrieve the header data in the RPM database, the rpmdb object is subscripted as you would access members of a list.

The rpmdb class contains the following methods:

Deprecated:
Use mi = ts.dbMatch() (or db.match()) instead.

Use hdr = mi.next() instead.

Use mi = ts.dbMatch('basename') instead.

Use mi = ts.dbMatch('name') instead.

Use mi = ts.dbMmatch('providename') instead.

Note that in most cases, one is interested in querying the default database in /var/lib/rpm and an rpm.mi match iterator derived from an implicit open of the database from an rpm.ts transaction set object:

import rpm ts = rpm.TransactionSet() mi = ts.dbMatch() ...
is simpler than explicitly opening a database object:
import rpm db = rpm.opendb() mi = db.match()

An example of opening a database and retrieving the first header in the database, then printing the name of the package that the header represents:

import rpm db = rpm.opendb() mi = db.match() if mi: h = mi.next() if h: print h['name']

To print all of the packages in the database that match a package name, the code will look like this:

import rpm db = rpm.opendb() mi = db.match('name', "foo") while mi: h = mi.next() if not h: break print "%s-%s-%s" % (h['name'], h['version'], h['release'])


The documentation for this class was generated from the following file:
Generated on Fri Apr 16 16:36:57 2004 for rpm by doxygen 1.3.6