class AdminUserController(object): title = 'Users' private_fields = ['salt'] def __init__(self, observer, model, connection): self.model = model self.user = User(connection, model) observer.register_table(self) def _columns(self): get_field_name = lambda name: str(name).split('.')[-1] f = lambda field: field not in self.private_fields return list(filter(f, map(get_field_name, self.model.c))) @asyncio.coroutine def get(self, page=1, page_size=30): return (yield from self.user.get_all(page, page_size)) @asyncio.coroutine def create(self, **kwargs): return (yield from self.user.create_user(**kwargs)) columns = property(_columns)
def __init__(self, observer, model, connection): self.model = model self.user = User(connection, model) observer.register_table(self)