def update(self, labels): ''' update event registry with other events @param labels: eventconf ''' exhaustmap(vars(labels), self.pack, lambda x: not x[0].startswith('_'))
def build(cls, manager): '''gather branch configuration''' cls._key(selfname(cls), manager) i = cls.include m = manager.set t = lambda x: not x[0].startswith('_') or isinstance(x[1], strings) exhaustmap(vars(cls), lambda x, y: m(i(y), x), t)
def build(cls, manager): '''gather namespace configuration''' label = selfname(cls) cls._key(label, manager) m = manager.set n = partial(manager.keyed, ANamespace) t = lambda k, v: v.build(manager) if n(v) else m(v, k, label) exhaustmap(vars(cls), t, cls._filter)
def _defaults(self): '''reset attribute values''' this = self.__dict__ exhaustmap( vars(self), lambda x, y: setitem(this, x.rstrip('_d'), y), lambda x: x[0].endswith('_d'), )
def build(cls): '''build manager configuration from class''' l = selfname(cls) # set key key = cls.key if isinstance(key, strings): # load key if string key = lazyimport(key) manager = cls._manager(l, key) # pylint: disable-msg=e1121 b = partial(manager.keyed, ABranch) n = partial(manager.keyed, ANamespace) m = manager.set t = lambda x, y: y.build(manager) if (n(y) or b(y)) else m(y, x, l) exhaustmap(vars(cls), t, cls._filter) return manager
def reset(self): '''reset previously accessed `lazybase` attributes''' this = vars(self) t = lambda x, y: x in this and isinstance(y, lazybase) exhaustmap(items(vars(getcls(self))), delattr, t)