3 ^m @sfddlZddlZddlmZmZddlmZddlmZddl m Z ddl m Z Gdd d ee Z dS) N)CriteriaDescriptorCriteriaSetDescriptor) MatchContext) FSUseRuletype) PolicyQuery) match_regexcs>eZdZdZeedZedZdZ fddZ ddZ Z S) 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_classfs_regexFc s$tt|j|f|tjt|_dS)N)superr __init__loggingZ getLogger__name__log)selfpolicykwargs) __class__"/usr/lib64/python3.6/fsusequery.pyr BszFSUseQuery.__init__ccs|jjdj||jjdj||jjdj||j|jxV|jjD]H}|jrf|j|jkrfqN|jrt |j|j|j  rqN|j |j sqN|VqNWdS)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) rinfoformatdebugZ_match_context_debugrZfs_usesruletypefsrr Z_match_contextcontext)rZfsurrrresultsFs   zFSUseQuery.results) r __module__ __qualname____doc__rrrrrr r r __classcell__rr)rrr s   r )rreZ descriptorsrrZmixinsrZ policyreprZqueryrutilrr rrrrs