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

16.3.3 ������ � ������� ������

16.3.3.1 ����� hdr
�������� ������ �� ������� ������ �����, ��������� ����������� Python ��� ������ �� ���������. ��� ������� �������, ��� ����� headerGetEntry � C-���������. ������� ��������� ������� � ������:

value = h['tag_name']

��������, ��� ��������� ����� ������ ������ ���:

name = h['name']

����� ����� ������������ ���� ���������������� ���� �����, ������� ���������� C API. ��� ��������� ���������� � ������ rpm � �� ����� ������������� ����� �������:

name = h[rpm.RPMTAG_NAME]

��� ������� ������, ���������� ������ �����, ��������, ������ ������ ������, ������, ������������ ������� ����� ������������ ����� ������ Python:

print "Files:"

files = h['FILENAMES']

for name in files:

print name

����� ����, ����� ������������ file info ��� ����������� ����� ����������� ����. ��������:

print "Files:"

fi = h.fiFromHeader()

print fi

�����������, �����������, ��������������� � ��������� ������ ��� ���������� ��� ��� ���������, �� ����������� ���� �� ����� ������. ��������, ��� ������ ��� ������������, ��� ��� ������������ � ��� �����. ��� ���������� ����� ���������, ��������� ��� ����������� ����� �������:

print h.dsFromHeader('providename')

print h.dsFromHeader('requirename')

print h.dsFromHeader('obsoletename')

print h.dsFromHeader('conflictname')

16.3.3.2 ����� ���������� � ������� sprintf
����� ������������ Python �� ������ �� ��������� ��� �������������� ������ ����� ������������ ����� sprintf, ��� ���� ����������� � �������� ����� �� ���������, ��� ��� ��������� ������� �������� ��� ������� ������� rpm � ������ ��������:

h.sprintf("%{tag_name}")

����� ��������� ����������� ��������� �������������� � ����� ����:

print "Header signature: ", h.sprintf("%{DSAHEADER:pgpsig}")

print "%-20s: %s" % ('Installed on', h.sprintf("%{INSTALLTID:date}") )

��� ������� ����� �������� � ���������������� �������, ��������� ������ ������ �� ������������� ���������������:

def nvr(h):

return h.sprintf("%{NAME}-%{VERSION}-%{RELEASE}")

����� - ������� � ���������� �������
����� - ������� � �� RPM
����������


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