def getSessionsInWishlist(self, user, request):
        """Get all sessions stored in wishlist."""
        profile = queries.get_create_profile(user)
        sessions = queries.get_sessions_in_wishlist(profile)
        items = [utils.copySessionToForm(sess) for sess in sessions]

        return SessionsForm(items=items)
    def getConferencesToAttend(self, user, request):
        """Get list of conferences that user has registered for."""
        profile = queries.get_create_profile(user)
        conferences = queries.get_conferences_to_attend(profile)
        names = queries.get_conferences_names(conferences)
        items = [utils.copyConferenceToForm(conf, names[conf.organizerUserId]) for conf in conferences]

        return ConferenceForms(items=items)
    def removeSessionFromWishlist(self, user, request):
        """Remove session from user's wishlist."""
        profile = queries.get_create_profile(user)
        wssk = request.SessionKey
        session = queries.get_session(wssk)
        if not session:
            raise endpoints.NotFoundException('No session found with key: %s' % wssk)

        return queries.delete_session_from_wishlist(profile, wssk)
    def addSessionToWishlist(self, user, request):
        """Add session to user's wishlist."""
        profile = queries.get_create_profile(user)
        wssk = request.SessionKey
        session = queries.get_session(wssk)
        if not session:
            raise endpoints.NotFoundException('No session found with key: %s' % wssk)

        return queries.add_session_to_wishlist(profile, wssk)
    def getSession(self, user, request):
        """"Return requested session (by SessionKey)."""
        profile = queries.get_create_profile(user)
        wssk = request.SessionKey
        session = queries.get_session(wssk)
        if not session:
            raise endpoints.NotFoundException('No session found with key: %s' % wssk)

        return utils.copySessionToForm(session)
    def unregisterFromConference(self, user, request):
        """Unregister user for selected conference."""
        profile = queries.get_create_profile(user)
        wsck = request.websafeConferenceKey
        conference = queries.get_conference(request.websafeConferenceKey)
        if not conference:
            raise endpoints.NotFoundException('No conference found with key: %s' % wsck)

        return queries.unregister_to_conference(profile, conference, wsck)
 def saveProfile(self, user, request):
     """Update & return user profile."""
     profile = queries.get_create_profile(user)
     profile = utils.updateProfile(profile, request)
     return utils.copyProfileToForm(profile)