a qéqeR ã@sRddlZddlmZmZddlmZddlmZddlm Z Gdd„dee ƒZ dS) éN)ÚIterableÚOptionalé)Ú MatchContext)Ú Pcidevicecon)Ú PolicyQuerycszeZdZUdZdZeeed<eeedœdd„ƒZ e j eeddœdd„ƒZ ddœ‡fd d „ Z e e dœd d „Z‡ZS) ÚPcideviceconQueryaÁ Pcidevicecon context query. Parameter: policy The policy to query. Keyword Parameters/Class attributes: device A single PCI device ID. user The criteria to match the context's user. user_regex If true, regular expression matching will be used on the user. role The criteria to match the context's role. role_regex If true, regular expression matching will be used on the role. type_ The criteria to match the context's type. type_regex If true, regular expression matching will be used on the type. range_ The criteria to match the context's range. range_subset If true, the criteria will match if it is a subset of the context's range. range_overlap If true, the criteria will match if it overlaps any of the context's range. range_superset If true, the criteria will match if it is a superset of the context's range. range_proper If true, use proper superset/subset operations. No effect if not using set operations. NÚ_device)ÚreturncCs|jS©N)r )Úself©r ú?/usr/lib64/python3.9/site-packages/setools/pcideviceconquery.pyÚdevice1szPcideviceconQuery.device)Úvaluer cCs,|r"|dkrtd |¡ƒ‚||_nd|_dS)Nrz#PCI device ID must be positive: {0})Ú ValueErrorÚformatr )r rr r rr5s c s(tt|ƒj|fi|¤Žt t¡|_dSr )ÚsuperrÚ__init__ÚloggingZ getLoggerÚ__name__Úlog)r ÚpolicyÚkwargs©Ú __class__r rr?szPcideviceconQuery.__init__ccsl|j d |¡¡|j d |¡¡| |j¡|j ¡D],}|jrR|j|jkrRq:| |j ¡s`q:|Vq:dS)z2Generator which yields all matching pcidevicecons.z"Generating results from {0.policy}zDevice ID: {0.device!r}N) rÚinforÚdebugZ_match_context_debugrZ pcideviceconsrZ_match_contextÚcontext)r Z pcideviceconr r rÚresultsCs  zPcideviceconQuery.results)rÚ __module__Ú __qualname__Ú__doc__r rÚintÚ__annotations__ÚpropertyrÚsetterrrrrÚ __classcell__r r rrr s   r) rÚtypingrrZmixinsrZ policyreprÚqueryrrr r r rÚs