from extendly import get_class_dict from functools import partial is_active = False d_builtin = get_class_dict(type(print)) d_func = get_class_dict(type(lambda: ...)) def _partial(self, *args, **kwargs): if is_active: return partial(self, *args, **kwargs) else: raise AttributeError("'%s' object has no attribute 'partial'" % type(self).__name__) d_builtin['partial'] = _partial d_func['partial'] = _partial def buildup(): global is_active is_active = True def breakdown(): global is_active is_active = False func_partial = buildup, breakdown
from extendly import get_class_dict is_active = False d_list = get_class_dict(list) d_map = get_class_dict(map) d_filter = get_class_dict(filter) def _map(self, func): if is_active: return map(func, self) else: raise AttributeError("'%s' object has no attribute 'map'" % type(self).__name__) d_list['map'] = _map d_map['map'] = _map d_filter['map'] = _map def _filter(self, func): if is_active: return filter(func, self) else: raise AttributeError("'%s' object has no attribute 'filter'" % type(self).__name__) d_list['filter'] = _filter
from extendly import get_class_dict is_active = False d_int = get_class_dict(int) d_float = get_class_dict(float) def _times(self, func): if is_active: for i in range(int(self)): func() else: raise AttributeError("'%s' object has no attribute 'times'" % type(self).__name__) d_float['times'] = _times d_int['times'] = _times def buildup(): global is_active is_active = True def breakdown(): global is_active is_active = False num_times = buildup, breakdown
from extendly import get_class_dict is_active = False d_list = get_class_dict(list) d_map = get_class_dict(map) d_filter = get_class_dict(filter) def _map(self, func): if is_active: return map(func, self) else: raise AttributeError("'%s' object has no attribute 'map'" % type(self).__name__) d_list['map'] = _map d_map['map'] = _map d_filter['map'] = _map def _filter(self, func): if is_active: return filter(func, self) else: raise AttributeError("'%s' object has no attribute 'filter'" % type(self).__name__) d_list['filter'] = _filter d_map['filter'] = _filter d_filter['filter'] = _filter def _append(self, obj): if is_active: self.append(obj) return self else: