1class ProtectedSection:
2
3 def __init__(self, log=(), suppress=()):
4 self.logs = log
5 self.suppress = suppress
6 self.exception = None
7
8 def __enter__(self):
9 return self
10
11 def __exit__(self, exc_type, exc_value, exc_traceback):
12 if exc_type is None:
13 self.exception = None
14 return True
15
16 if self.logs and exc_type in self.logs:
17 self.exception = exc_value
18 return True
19
20 if self.suppress and exc_type in self.suppress:
21 self.exception = None
22 return True
23
24 return False
..
----------------------------------------------------------------------
Ran 2 tests in 0.000s
OK
| n | 1 | n | |||
| 2 | class ProtectedSection: | 1 | class ProtectedSection: | ||
| 3 | 2 | ||||
| t | 4 | def __init__(self, **logs_and_supress): | t | 3 | def __init__(self, log=(), suppress=()): |
| 5 | self.logs = logs_and_supress.get('log') | 4 | self.logs = log | ||
| 6 | self.suppress = logs_and_supress.get('suppress') | 5 | self.suppress = suppress | ||
| 7 | self.exception = None | 6 | self.exception = None | ||
| 8 | 7 | ||||
| 9 | def __enter__(self): | 8 | def __enter__(self): | ||
| 10 | return self | 9 | return self | ||
| 11 | 10 | ||||
| 12 | def __exit__(self, exc_type, exc_value, exc_traceback): | 11 | def __exit__(self, exc_type, exc_value, exc_traceback): | ||
| 13 | if exc_type is None: | 12 | if exc_type is None: | ||
| 14 | self.exception = None | 13 | self.exception = None | ||
| 15 | return True | 14 | return True | ||
| 16 | 15 | ||||
| 17 | if self.logs and exc_type in self.logs: | 16 | if self.logs and exc_type in self.logs: | ||
| 18 | self.exception = exc_value | 17 | self.exception = exc_value | ||
| 19 | return True | 18 | return True | ||
| 20 | 19 | ||||
| 21 | if self.suppress and exc_type in self.suppress: | 20 | if self.suppress and exc_type in self.suppress: | ||
| 22 | self.exception = None | 21 | self.exception = None | ||
| 23 | return True | 22 | return True | ||
| 24 | 23 | ||||
| 25 | return False | 24 | return False |
| Legends | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
| |||||||||
| f | 1 | f | 1 | ||
| 2 | class ProtectedSection: | 2 | class ProtectedSection: | ||
| 3 | 3 | ||||
| 4 | def __init__(self, **logs_and_supress): | 4 | def __init__(self, **logs_and_supress): | ||
| 5 | self.logs = logs_and_supress.get('log') | 5 | self.logs = logs_and_supress.get('log') | ||
| 6 | self.suppress = logs_and_supress.get('suppress') | 6 | self.suppress = logs_and_supress.get('suppress') | ||
| 7 | self.exception = None | 7 | self.exception = None | ||
| 8 | 8 | ||||
| 9 | def __enter__(self): | 9 | def __enter__(self): | ||
| 10 | return self | 10 | return self | ||
| 11 | 11 | ||||
| 12 | def __exit__(self, exc_type, exc_value, exc_traceback): | 12 | def __exit__(self, exc_type, exc_value, exc_traceback): | ||
| 13 | if exc_type is None: | 13 | if exc_type is None: | ||
| n | n | 14 | self.exception = None | ||
| 14 | return True | 15 | return True | ||
| 15 | 16 | ||||
| 16 | if self.logs and exc_type in self.logs: | 17 | if self.logs and exc_type in self.logs: | ||
| 17 | self.exception = exc_value | 18 | self.exception = exc_value | ||
| 18 | return True | 19 | return True | ||
| 19 | 20 | ||||
| t | 20 | return self.suppress and exc_type in self.suppress | t | 21 | if self.suppress and exc_type in self.suppress: |
| 22 | self.exception = None | ||||
| 23 | return True | ||||
| 24 | |||||
| 25 | return False |
| Legends | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
| |||||||||
| f | 1 | f | 1 | ||
| 2 | class ProtectedSection: | 2 | class ProtectedSection: | ||
| 3 | 3 | ||||
| 4 | def __init__(self, **logs_and_supress): | 4 | def __init__(self, **logs_and_supress): | ||
| 5 | self.logs = logs_and_supress.get('log') | 5 | self.logs = logs_and_supress.get('log') | ||
| 6 | self.suppress = logs_and_supress.get('suppress') | 6 | self.suppress = logs_and_supress.get('suppress') | ||
| 7 | self.exception = None | 7 | self.exception = None | ||
| 8 | 8 | ||||
| 9 | def __enter__(self): | 9 | def __enter__(self): | ||
| 10 | return self | 10 | return self | ||
| 11 | 11 | ||||
| 12 | def __exit__(self, exc_type, exc_value, exc_traceback): | 12 | def __exit__(self, exc_type, exc_value, exc_traceback): | ||
| 13 | if exc_type is None: | 13 | if exc_type is None: | ||
| 14 | return True | 14 | return True | ||
| 15 | 15 | ||||
| 16 | if self.logs and exc_type in self.logs: | 16 | if self.logs and exc_type in self.logs: | ||
| 17 | self.exception = exc_value | 17 | self.exception = exc_value | ||
| 18 | return True | 18 | return True | ||
| 19 | 19 | ||||
| t | 20 | if self.suppress and exc_type in self.suppress: | t | 20 | return self.suppress and exc_type in self.suppress |
| 21 | return True | ||||
| 22 | |||||
| 23 | return False |
| Legends | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
| |||||||||
| f | 1 | f | 1 | ||
| 2 | class ProtectedSection: | 2 | class ProtectedSection: | ||
| 3 | 3 | ||||
| 4 | def __init__(self, **logs_and_supress): | 4 | def __init__(self, **logs_and_supress): | ||
| 5 | self.logs = logs_and_supress.get('log') | 5 | self.logs = logs_and_supress.get('log') | ||
| 6 | self.suppress = logs_and_supress.get('suppress') | 6 | self.suppress = logs_and_supress.get('suppress') | ||
| 7 | self.exception = None | 7 | self.exception = None | ||
| 8 | 8 | ||||
| 9 | def __enter__(self): | 9 | def __enter__(self): | ||
| 10 | return self | 10 | return self | ||
| 11 | 11 | ||||
| 12 | def __exit__(self, exc_type, exc_value, exc_traceback): | 12 | def __exit__(self, exc_type, exc_value, exc_traceback): | ||
| 13 | if exc_type is None: | 13 | if exc_type is None: | ||
| n | 14 | self.exception = None | n | ||
| 15 | return True | 14 | return True | ||
| 16 | 15 | ||||
| 17 | if self.logs and exc_type in self.logs: | 16 | if self.logs and exc_type in self.logs: | ||
| 18 | self.exception = exc_value | 17 | self.exception = exc_value | ||
| 19 | return True | 18 | return True | ||
| 20 | 19 | ||||
| 21 | if self.suppress and exc_type in self.suppress: | 20 | if self.suppress and exc_type in self.suppress: | ||
| t | 22 | self.exception = None | t | ||
| 23 | return True | 21 | return True | ||
| 24 | 22 | ||||
| 25 | return False | 23 | return False |
| Legends | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
| |||||||||