|
1 | 1 | """ |
2 | 2 | A collection of utility functions and classes. Originally, many |
3 | 3 | (but not all) were from the Python Cookbook -- hence the name cbook. |
4 | | -
|
5 | | -This module is safe to import from anywhere within Matplotlib; |
6 | | -it imports Matplotlib only at runtime. |
7 | 4 | """ |
8 | 5 |
|
9 | 6 | import collections |
@@ -853,21 +850,11 @@ def get_siblings(self, a): |
853 | 850 | class GrouperView: |
854 | 851 | """Immutable view over a `.Grouper`.""" |
855 | 852 |
|
856 | | - def __init__(self, grouper): |
857 | | - self._grouper = grouper |
858 | | - |
859 | | - class _GrouperMethodForwarder: |
860 | | - def __set_name__(self, owner, name): |
861 | | - wrapped = getattr(Grouper, name) |
862 | | - forwarder = functools.wraps(wrapped)( |
863 | | - lambda self, *args, **kwargs: wrapped( |
864 | | - self._grouper, *args, **kwargs)) |
865 | | - setattr(owner, name, forwarder) |
866 | | - |
867 | | - __contains__ = _GrouperMethodForwarder() |
868 | | - __iter__ = _GrouperMethodForwarder() |
869 | | - joined = _GrouperMethodForwarder() |
870 | | - get_siblings = _GrouperMethodForwarder() |
| 853 | + def __init__(self, grouper): self._grouper = grouper |
| 854 | + def __contains__(self, item): return item in self._grouper |
| 855 | + def __iter__(self): return iter(self._grouper) |
| 856 | + def joined(self, a, b): return self._grouper.joined(a, b) |
| 857 | + def get_siblings(self, a): return self._grouper.get_siblings(a) |
871 | 858 |
|
872 | 859 |
|
873 | 860 | def simple_linear_interpolation(a, steps): |
|
0 commit comments