����� ������������ OpenNet.ru / ������ "������������ ��� Linux" / ������

16.4.1 ������ ������ �� ����� ������

������� ������������� �������� C, ��������, rpmReadPackageFile, Python API ������������� ������� ������ ������ ��� �������� ������� ������ �� ����� rpm-������. ����� hdrFromFdno ��������� ����� �� ����� � ������������ � ���������� ������������:

h = ts.hdrFromFdno(fdno)

����� hdrFromFdno ��������� �� �������������� ���������� ������ ���������������� ������� ����� ����� Python. � RPM ���������� C FD_t - ��� FILE**.

��������� ������ ���������� �������, ����������� ����, ����������� ����� � ����� ����������� ����.

def readRpmHeader(ts, filename):

""" Read an rpm header. """

fd = os.open(filename, os.O_RDONLY)

h = ts.hdrFromFdno(fd)

os.close(fd)

return h

ts = rpm.TransactionSet()

h = readRpmHeader( ts, 'n-r-v.rpm' )

����� hdrFromFdno ������������ ��� ����������, ����������� �� ��������, ��������������� ��� �������� ��� ������ �����:

def readRpmHeader(ts, filename):

""" Read an rpm header. """

fd = os.open(filename, os.O_RDONLY)

h = None

tryL

h = ts.hdrFromFdno(fd)

except rpm.error, e:

if str(e) == "public key not available":

print str(e)

if str(e) == "public key not trusted":

print str(e)

if str(e) == "error reading package header":

print str(e)

h = None

os.close(fd)

return h

ts = rpm.TransactionSet()

h = readRpmHeader( ts, 'n-r-v.rpm' )

������� � ���, ����� �� ���������� ��������� ���������� ����, ������� �� ������������.

����� - ��������� ������ �����������
����� - ��������� ��������
����������


����� ������������ �� OpenNet.ru