Skip to content

Commit ee9493a

Browse files
committed
reference solution
1 parent c1e740b commit ee9493a

File tree

3 files changed

+17
-0
lines changed

3 files changed

+17
-0
lines changed

groups/groups.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ class CyclicGroup(Group):
9494

9595
def _validate(self, value):
9696
"""Ensure that value is a legitimate element value in this group."""
97+
super()._validate(value)
9798
if not (isinstance(value, Integral) and 0 <= value < self.n):
9899
raise ValueError("Element value must be an integer"
99100
f" in the range [0, {self.n})")
@@ -113,6 +114,7 @@ class GeneralLinearGroup(Group):
113114

114115
def _validate(self, value):
115116
"""Ensure that value is a legitimate element value in this group."""
117+
super()._validate(value)
116118
value = np.asarray(value)
117119
if not (value.shape == (self.n, self.n)):
118120
raise ValueError("Element value must be a "

log_decorator/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
from .log_decorator import log_call # NoQA F401

log_decorator/log_decorator.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
from functools import wraps
2+
import logging
3+
4+
5+
def log_call(func):
6+
@wraps(func)
7+
def fn(*args, **kwargs):
8+
logging.info("Calling: " + func.__name__ + "("
9+
+ ", ".join(
10+
[repr(a) for a in args]
11+
+ [a + "=" + repr(v) for a, v in kwargs.items()]
12+
) + ")")
13+
return func(*args, **kwargs)
14+
return fn

0 commit comments

Comments
 (0)