3 í«„^ºã@sVddlZddlZddlmZddlmZddlmZddlm Z Gdd„deeƒZ dS) éNé)ÚCriteriaDescriptor)Ú MatchContext)Ú PolicyQuery)Ú match_regexcsDeZdZdZdZedƒZdZedƒZdZ ‡fdd„Z dd „Z ‡Z S) Ú GenfsconQueryaÞ Query genfscon statements. Parameter: policy The policy to query. Keyword Parameters/Class attributes: fs The criteria to match the file system type. fs_regex If true, regular expression matching will be used on the file system type. path The criteria to match the path. path_regex If true, regular expression matching will be used on the path. 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Úfs_regexFÚ path_regexc s$tt|ƒj|f|Žtjtƒ|_dS)N)ÚsuperrÚ__init__ÚloggingZ getLoggerÚ__name__Úlog)ÚselfÚpolicyÚkwargs)Ú __class__©ú%/usr/lib64/python3.6/genfsconquery.pyr EszGenfsconQuery.__init__ccsÎ|jjdj|ƒƒ|jjdj|ƒƒ|jjdj|ƒƒ|jjdj|ƒƒ|j|jƒxt|jjƒD]f}|jr€t|j|j|j ƒ r€q`|j rœt|j |j |j ƒ rœq`|j r²|j |j k r²q`|j |jƒsÀq`|Vq`WdS)z.Generator which yields all matching genfscons.z+Generating genfscon results from {0.policy}z!FS: {0.fs!r}, regex: {0.fs_regex}z'Path: {0.path!r}, regex: {0.path_regex}zFiletype: {0.filetype!r}N)rÚinfoÚformatÚdebugZ_match_context_debugrZ genfsconsÚfsrrÚpathr ÚfiletypeZ_match_contextÚcontext)rZgenfsrrrÚresultsIs*    zGenfsconQuery.results) r Ú __module__Ú __qualname__Ú__doc__rrrrrr r rÚ __classcell__rr)rrrs! r) r ÚreZ descriptorsrZmixinsrZqueryrÚutilrrrrrrÚs