a qéqe4 ã@svddlZddlZddlmZddlmZmZddlmZddl m Z m Z ddl m Z ddlmZGd d „d ee ƒZdS) éN)ÚIterableé)ÚCriteriaDescriptorÚCriteriaSetDescriptor)Ú MatchContext)ÚFSUseÚ FSUseRuletype)Ú PolicyQuery)Ú match_regexcsXeZdZUdZeed�ZedƒZdZ e e d<ddœ‡fdd„ Z e edœd d „Z‡ZS) Ú FSUseQueryar Query fs_use_* statements. Parameter: policy The policy to query. Keyword Parameters/Class attributes: ruletype The rule type(s) to match. fs The criteria to match the file system type. fs_regex If true, regular expression matching will be used on the file system type. 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. )Ú enum_classÚfs_regexFN)Úreturnc s(tt|ƒj|fi|¤Žt t¡|_dS)N)Úsuperr Ú__init__ÚloggingZ getLoggerÚ__name__Úlog)ÚselfÚpolicyÚkwargs©Ú __class__©ú8/usr/lib64/python3.9/site-packages/setools/fsusequery.pyr5szFSUseQuery.__init__ccs˜|j d |¡¡|j d |¡¡|j d |¡¡| |j¡|j ¡D]F}|jrd|j|jvrdqL|jr~t |j|j|j ƒs~qL|  |j ¡sŒqL|VqLdS)z8Generator which yields all matching fs_use_* statements.z+Generating fs_use_* results from {0.policy}zRuletypes: {0.ruletype}z!FS: {0.fs!r}, regex: {0.fs_regex}N) rÚinfoÚformatÚdebugZ_match_context_debugrZfs_usesÚruletypeÚfsr r Z_match_contextÚcontext)rZfsurrrÚresults9s  ý zFSUseQuery.results)rÚ __module__Ú __qualname__Ú__doc__rrrrrr ÚboolÚ__annotations__rrrr!Ú __classcell__rrrrr s   r )rÚreÚtypingrZ descriptorsrrZmixinsrZ policyreprrÚqueryr Úutilr r rrrrÚs