����� ������������� ���� ����������, ������ �������� �������������� ������� run. ��������� ��� ���������:
ts.run(callback, client_data) |
�������� callback ������ ���� �������� Python. �������� client_data - ����� ������, ������� �� ������ ��������� � �������� �����. ��������� � ���� ���������� ����� ���� ����� �������, ��� �� ������ ���� ������, ����������� � ������������� ������. � �������� client_data �� ����� ���� �������� �������� None.
16.6.4.1 �������� ������ ������ run
Callback, ������� ��� ������� � run, ���������. �������� ����� ������ ��������� ���������, ����� ���������� ���������� � �������. �� ������ ������������ callback.
��������� callback ����� ���������� �� ���� ���, ��� �������� ������ �������� �������� ����� ��� ����������� ������� ���������� ���������� (�������� � ���������� ����������� ���������� ��� ��������-�����).
������� ��������� ��������� ������ ��� ���� ����������:
def runCallback(reason, amount, total, key, client_data): |
key - ��� ������, ��������������� ���� ��� ������ addInstall. client_data - ������, ������� ����� ������������ � run.
������ ���, ����� ���������� �������� �����, ��� ���������� ����� �������� ���� reason. ��������� �������� ����� �������� � �������.
�������� |
�� ��� ��������� |
rpm.RPMCALLBACK_UNKNOWN |
����������� ������ |
rpm.RPMCALLBACK_INST_PROGRESS |
�������� ��������� |
rpm.RPMCALLBACK_INST_START |
����� ��������� |
rpm.RPMCALLBACK_INST_OPEN_FILE |
Callback ������ ������� ���� ������ |
rpm.RPMCALLBACK_INST_CLOSE_FILE |
Callback ������ ������� ���� ������ |
rpm.RPMCALLBACK_TRANS_PROGRESS |
�������� ���������� |
rpm.RPMCALLBACK_TRANS_START |
����� ���������� |
rpm.RPMCALLBACK_TRANS_STOP |
���� ���������� |
rpm.RPMCALLBACK_UNINST_PROGRESS |
�������� �������� |
rpm.RPMCALLBACK_UNINST_START |
����� �������� |
rpm.RPMCALLBACK_UNINST_STOP |
���� �������� |
rpm.RPMCALLBACK_REPACKAGE_PROGRESS |
�������� ���������� |
rpm.RPMCALLBACK_REPACKAGE_START |
����� ���������� |
rpm.RPMCALLBACK_REPACKAGE_STOP |
���� ���������� |
rpm.RPMCALLBACK_UNPACK_ERROR |
������ ���������� |
rpm.RPMCALLBACK_CPIO_ERROR |
������ cpio ��� ������� ��������������� �������� |
��� callback ������ ������������ �� ������� ���� ��� ������: rpm.RPMCALLBACK_INST_OPEN_FILE � rpm.RPMCALLBACK_INST_CLOSE_FILE.
� reason, ������ rpm.RPMCALLBACK_INST_OPEN_FILE, ���������� ������� ���� rpm-������ � ������� ����������. ���� ���������� ���������� ������� � ���������-��������� ����������, ��� �� ������� ���� � ���� ���������, ��� ��� ����������� ���� �������, ����� reason ����� rpm.RPMCALLBACK_INST_CLOSE_FILE.
16.6.4.2 �������� ������ callback-�������
��� ���� ���������� ���������� ������ callback ��� ��������� ��� ���������� �������.
# Global file descriptor for the callback. |
���� callback �������������, ��� � ����� addInstall ���������� � �������� ���������������� ������ ��� ����� rpm-������. client_data � ����� run ������������, �� ��� ������� ����� ��� �������� �������. �����, ��������, ������������ ��� ����������� ��� ����, ����� �������� �������� ����������� ����� � ���������� ����������.
16.6.4.3 ���������� ������
������ ���� �������� ������ (rpmupgrade.py) ��� ���������� ��� ��������� ������.
#!/usr/bin/python |
���� ������ �������, ��� ��� ����� rpm-������ ����� �������� � ��������� ��������� ������, ������� ��� �� ��������� ���������� ������ (� ���� ��� ����� ����� - �� ���������).
��� ������� ������� ������ ���������:
# rpm -q jikes |
���� ��������� ������ ��� ���� �����������������, ������ ��������� �� ������ ���� ����������:
$ python rpmupgrade.py jikes-1.18-1.i386.rpm |
���� ����� ����� ����������� �� �����, ��������, ����������� ����������, ����� ����� �����:
# python rpmupgrade.py jikes-1.17-glibc2.2-1.i386.rpm jpilot-0_97-1_i386.rpm |
���� ������� ������������� ����������� �� ������� ������, ����� ����� �����:
# python rpmupgrade.py eruby-devel-0.9.8-2.i386.rpm |
����� - ������ 17. ���������������� RPM �� Perl
����� - �������� � ��������������� ������� ��������� ����������
����������