def add_member(self, world, username): """remove_member(username: *) -> bool Add `username` to the world and return True if wasn't a member already. """ if not utils.page_admin(world.author.user): return False udata = stores.UserData.load_from_nickname(username) if udata is None: return "Unknown User" key_name = stores.WorldMember.key_name_form % (world.key_name, udata.key_name) member = stores.WorldMember.get_by_key_name(key_name) if not member: member = WorldMember(key_name=key_name, user=udata, world=world) member.put() counter.Counter('%sWorldMembers' % world.key_name, 1).increment() messages = stores.MessageFactory.gen_user_joined_world( world.worldmember_set, member, self.udata ) db.put(messages) logging.info('User (%s) has added World (%s) Member (%s)' % ( self.user.email(), world.name, udata.user.email())) framework.unmemoize('/manage/', 'world_listing', udata.nickname) framework.unmemoize(member.user.url, 'world_listing') framework.unmemoize(world.url, 'member_listing') return True return False
def __fetch_world_memberships(): query = WorldMember.all() query.filter('user =', adata) return [membership.world for membership in query.fetch(10)]