#!/usr/bin/env python3
-from abc import ABC, abstractmethod
import enum
import fnmatch
import logging
import re
-from typing import Any, Callable, List, Optional, Set, Sequence
+from abc import ABC, abstractmethod
+from typing import Any, Callable, List, Optional, Sequence, Set
from overrides import overrides
class SimpleACL(ABC):
"""A simple Access Control List interface."""
- def __init__(
- self, *, order_to_check_allow_deny: Order, default_answer: bool
- ):
+ def __init__(self, *, order_to_check_allow_deny: Order, default_answer: bool):
if order_to_check_allow_deny not in (
Order.ALLOW_DENY,
Order.DENY_ALLOW,
):
raise Exception(
- 'order_to_check_allow_deny must be Order.ALLOW_DENY or '
- + 'Order.DENY_ALLOW'
+ 'order_to_check_allow_deny must be Order.ALLOW_DENY or ' + 'Order.DENY_ALLOW'
)
self.order_to_check_allow_deny = order_to_check_allow_deny
self.default_answer = default_answer
allow_predicates = []
if allowed_patterns is not None:
for pattern in allowed_patterns:
- allow_predicates.append(
- lambda x, pattern=pattern: fnmatch.fnmatch(x, pattern)
- )
+ allow_predicates.append(lambda x, pattern=pattern: fnmatch.fnmatch(x, pattern))
deny_predicates = None
if denied_patterns is not None:
deny_predicates = []
for pattern in denied_patterns:
- deny_predicates.append(
- lambda x, pattern=pattern: fnmatch.fnmatch(x, pattern)
- )
+ deny_predicates.append(lambda x, pattern=pattern: fnmatch.fnmatch(x, pattern))
super().__init__(
allow_predicate_list=allow_predicates,
if allowed_regexs is not None:
allow_predicates = []
for pattern in allowed_regexs:
- allow_predicates.append(
- lambda x, pattern=pattern: pattern.match(x) is not None
- )
+ allow_predicates.append(lambda x, pattern=pattern: pattern.match(x) is not None)
deny_predicates = None
if denied_regexs is not None:
deny_predicates = []
for pattern in denied_regexs:
- deny_predicates.append(
- lambda x, pattern=pattern: pattern.match(x) is not None
- )
+ deny_predicates.append(lambda x, pattern=pattern: pattern.match(x) is not None)
super().__init__(
allow_predicate_list=allow_predicates,
deny_predicate_list=deny_predicates,