summaryrefslogtreecommitdiff
path: root/lib/python2.7/site-packages/setools/rolequery.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python2.7/site-packages/setools/rolequery.py')
-rwxr-xr-x[-rw-r--r--]lib/python2.7/site-packages/setools/rolequery.py16
1 files changed, 11 insertions, 5 deletions
diff --git a/lib/python2.7/site-packages/setools/rolequery.py b/lib/python2.7/site-packages/setools/rolequery.py
index 37de123..a7e9006 100644..100755
--- a/lib/python2.7/site-packages/setools/rolequery.py
+++ b/lib/python2.7/site-packages/setools/rolequery.py
@@ -19,11 +19,13 @@
import logging
import re
-from . import compquery
from .descriptors import CriteriaSetDescriptor
+from .mixins import MatchName
+from .query import PolicyQuery
+from .util import match_regex_or_set
-class RoleQuery(compquery.ComponentQuery):
+class RoleQuery(MatchName, PolicyQuery):
"""
Query SELinux policy roles.
@@ -49,10 +51,14 @@ class RoleQuery(compquery.ComponentQuery):
types_equal = False
types_regex = False
+ def __init__(self, policy, **kwargs):
+ super(RoleQuery, self).__init__(policy, **kwargs)
+ self.log = logging.getLogger(__name__)
+
def results(self):
"""Generator which yields all matching roles."""
- self.log.info("Generating results from {0.policy}".format(self))
- self.log.debug("Name: {0.name!r}, regex: {0.name_regex}".format(self))
+ self.log.info("Generating role results from {0.policy}".format(self))
+ self._match_name_debug(self.log)
self.log.debug("Types: {0.types!r}, regex: {0.types_regex}, "
"eq: {0.types_equal}".format(self))
@@ -60,7 +66,7 @@ class RoleQuery(compquery.ComponentQuery):
if not self._match_name(r):
continue
- if self.types and not self._match_regex_or_set(
+ if self.types and not match_regex_or_set(
set(r.types()),
self.types,
self.types_equal,