16.3.6 Уточнение запросов
Индекс16.3.6 Уточнение запросов
Метод шаблонов, применяемых для генерации шаблонных итераторов, позволяет совершенствовать запросы. Сужение области действия готового итератора позволит получить иформацию только о тех пакетах, которые мы действительно имели в виду. Синтаксис:
mi.pattern(tag_name, mode, pattern) |
Два основных способа сужения области действия запроса: 1. задать более чем один тег для уточнения, например, имя и версию; 2. отфильтровать результаты запроса, используя богатые возможности типизации шаблонов. Параметр mode указывает на тип шаблона, который будет использоваться. Тип может быть одним из следующих:
Тип |
Означает |
rpm.RPMMIRE_DEFAULT |
То же, что регулярное выражение, но с добавлением \., .*, и ^..$ |
rpm.RPMMIRE_GLOB |
Шаблон в стиле globe с использованием fnmatch |
rpm.RPMMIRE_REGEX |
Регулярные выражения с использованием regcomp |
rpm.RPMMIRE_STRCMP |
Сравнение строк с использованием strcmp |
Например, для запроса всех пакетов, имена которых начинаются на py, используем следующий код:
import rpm |
Следующий пример (rpmglobe.py) показывает запрос в стиле glob.
#!/usr/bin/python |
При запуске скрипта увидим следующее:
$ python rpmglob.py "py*" |
Кроме работы с БД RPM функционал Python API позволяет непосредственно анализировать файлы rpm-пакетов.
Далее - Чтение хэдера из файла пакета
Назад - Вывод информации о пакете
Содержание