def getFeaturedSpeaker(self, request):
        """Returns the sessions of the featured speaker"""
        # try to get the speaker related data from memcache that was storied earlier
        data = memcache.get('featured_speaker')
        from pprint import pprint
        pprint(data)
        sessionNames = []
        speaker = None

        if data and data.has_key('speaker') and data.has_key('sessionNames'):
            speaker = data['speaker']
            sessionNames = data['sessionNames']
            
          # if the memcache fails or is found to be empty, then display a message accordingly
        else: 
             raise endpoints.NotFoundException(
                'Failed to retrieve data related to the speaker.')    

         # populate the speaker form appropriately in case the speaker data is sucessfully retrieved 
        sf = SpeakerForm()
        for field in sf.all_fields():
            if field.name == 'sessionNames':
                setattr(sf, field.name, sessionNames)
            elif field.name == 'speaker':
                setattr(sf, field.name, speaker)
        sf.check_initialized()
        return sf     
    def getFeaturedSpeaker(self, request):
        """Returns the sessions of the featured speaker"""
        data = memcache.get("featured_speaker")
        from pprint import pprint

        pprint(data)
        sessions = []
        sessionNames = []
        speaker = None

        if data and data.has_key("speaker") and data.has_key("sessionNames"):
            speaker = data["speaker"]
            sessionNames = data["sessionNames"]
        else:
            upcoming_session = (
                Session.query(Session.date >= datetime.now()).order(Session.date, Session.startTime).get()
            )
            if upcoming_session:
                speaker = upcoming_session.speaker
                sessions = Session.query(Session.speaker == speaker)
                sessionNames = [session.name for session in sessions]

        # create speaker form
        sf = SpeakerForm()
        for field in sf.all_fields():
            if field.name == "sessionNames":
                setattr(sf, field.name, sessionNames)
            elif field.name == "speaker":
                setattr(sf, field.name, speaker)
        sf.check_initialized()
        return sf
 def _copySpeakerToForm(self, speak):
     """Copy relevant fields from Speaker to SpeakerForm."""
     sp = SpeakerForm()
     for field in sp.all_fields():
         setattr(sp, field.name, getattr(speak, field.name))
     sp.check_initialized()
     return sp
    def getFeaturedSpeaker(self, request):
        """Returns the sessions of the featured speaker"""
        # attempt to get data from memcache
        data = memcache.get('featured_speaker')
        from pprint import pprint
        pprint(data)
        sessions = []
        sessionNames = []
        speaker = None

        if data and data.has_key('speaker') and data.has_key('sessionNames'):
            speaker = data['speaker']
            sessionNames = data['sessionNames']

        # if memcache fails or is empty, pull speaker from upcoming session
        else:
            upcoming_session = Session.query(Session.date >= datetime.now())\
                                    .order(Session.date, Session.startTime).get()
            if upcoming_session:
                speaker = upcoming_session.speaker
                sessions = Session.query(Session.speaker == speaker)
                sessionNames = [session.name for session in sessions]

        # populate speaker form
        sf = SpeakerForm()
        for field in sf.all_fields():
            if field.name == 'sessionNames':
                setattr(sf, field.name, sessionNames)
            elif field.name == 'speaker':
                setattr(sf, field.name, speaker)
        sf.check_initialized()
        return sf
Beispiel #5
0
    def getFeaturedSpeaker(self, request):
        """Returns the sessions of the featured speaker"""
        # attempt to get data from memcache
        data = memcache.get('featured_speaker')
        from pprint import pprint
        pprint(data)
        sessions = []
        sessionNames = []
        speaker = None

        if data and data.has_key('speaker') and data.has_key('sessionNames'):
            speaker = data['speaker']
            sessionNames = data['sessionNames']

        # if memcache fails or is empty, pull speaker from upcoming session
        else:
            upcoming_session = Session.query(Session.date >= datetime.now())\
                                    .order(Session.date, Session.startTime).get()
            if upcoming_session:
                speaker = upcoming_session.speaker
                sessions = Session.query(Session.speaker == speaker)
                sessionNames = [session.name for session in sessions]

        # populate speaker form
        sf = SpeakerForm()
        for field in sf.all_fields():
            if field.name == 'sessionNames':
                setattr(sf, field.name, sessionNames)
            elif field.name == 'speaker':
                setattr(sf, field.name, speaker)
        sf.check_initialized()
        return sf
Beispiel #6
0
    def getFeaturedSpeaker(self, request):
        """Get featured speaker from memcache"""

        # verify user is authed
        user = endpoints.get_current_user()
        if not user:
            raise endpoints.UnauthorizedException('Authorization required')

        # get featured speaker from memcache if it exists
        conf = memcache.get(request.websafeConferenceKey)
        if not conf:
            raise endpoints.NotFoundException(
                'No conference memcache found with key: %s' %
                request.websafeConferenceKey)

        # iterate then return SpeakerForm
        speaker_form = SpeakerForm()
        for field in speaker_form.all_fields():
            if field.name == 'sessionName':
                setattr(speaker_form, field.name, conf['sessionName'])
            elif field.name == 'displayName':
                setattr(speaker_form, field.name, conf['displayName'])
        speaker_form.check_initialized()

        return speaker_form
Beispiel #7
0
    def getFeaturedSpeaker(self, request):
        """ Returns a featured speaker and his/her sessions """
        sessions = []
        sessionNames = []
        speaker = None

        # look for data in memcache
        memcache_data = memcache.get(MEMCACHE_SPEAKER_KEY)

        if memcache_data:
            speaker = memcache_data['speaker']
            sessionNames = memcache_data['sessionNames']

        else:
            speaker = sessionNames = None

        sf = SpeakerForm()
        for field in sf.all_fields():
            if field.name == 'speaker':
                setattr(sf, field.name, speaker)
            elif field.name == 'sessionNames':
                setattr(sf, field.name, sessionNames)
        sf.check_initialized()

        return sf
Beispiel #8
0
 def _copySpeakerToForm(self, speaker):
     sf = SpeakerForm()
     for field in sf.all_fields():
         if hasattr(speaker, field.name):
             setattr(sf, field.name, str(getattr(speaker, field.name)))
     sf.check_initialized()
     return sf
    def getFeaturedSpeaker(self, request):
        """Returns the sessions of the featured speaker"""
        # try to get data from memcache
        data = memcache.get(MEMCACHE_FEATURED_SPEAKER_KEY)
        sessions = []
        sessionNames = []
        speaker = None

        if data and data.has_key('speaker') and data.has_key('sessionNames'):
            speaker = data['speaker']
            sessionNames = data['sessionNames']

        # if data is not on memcache, get speaker from upcoming session
        else:
            nextSession = Session.query(Session.date >= datetime.now()).order(Session.date, Session.startTime).get()
            if nextSession:
                speaker = nextSession.speaker
                sessions = Session.query(Session.speaker == speaker)
                sessionNames = [session.name for session in sessions]

        # fill speaker form
        speaker_form = SpeakerForm()
        for field in speaker_form.all_fields():
            if field.name ==  'sessionNames':
                setattr(speaker_form, field.name, sessionNames)
            elif field.name == 'speaker':
                setattr(speaker_form, field.name, speaker)
        speaker_form.check_initialized()
        return speaker_form
    def getFeaturedSpeaker(self,request):
        """ Returns a featured speaker and his/her sessions """
        sessions = []
        sessionNames = []
        speaker = None

        # look for data in memcache
        memcache_data = memcache.get(MEMCACHE_SPEAKER_KEY)

        if memcache_data:
            speaker = memcache_data['speaker']
            sessionNames = memcache_data['sessionNames']

        else:
            speaker = sessionNames = None

        sf = SpeakerForm()
        for field in sf.all_fields():
            if field.name == 'speaker':
                setattr(sf, field.name, speaker)
            elif field.name == 'sessionNames':
                setattr(sf, field.name, sessionNames)
        sf.check_initialized()

        return sf
 def _copySpeakerToForm(self, speaker):
     '''Copy relevant fields from Speaker to SpeakerForm'''
     speaker_form = SpeakerForm()
     for field in speaker_form.all_fields():
         if hasattr(speaker, field.name):
             setattr(speaker_form, field.name, getattr(speaker, field.name))
     speaker_form.check_initialized()
     return speaker_form
Beispiel #12
0
 def _copySpeakerToForm(self, speaker):
     """Copy relevant fields from Speaker to SpeakerForm."""
     sf = SpeakerForm()
     for field in sf.all_fields():
         if hasattr(speaker, field.name):
             setattr(sf, field.name, getattr(speaker, field.name))
     sf.check_initialized()
     return sf
Beispiel #13
0
 def _copySpeakerToForm(self, speaker):
     """Copy relevant fields from Speaker to SpeakerForm."""
     # copy relevant fields from Speaker to SpeakerFrom
     spkr = SpeakerForm()
     for field in spkr.all_fields():
         if hasattr(speaker, field.name):
             setattr(spkr, field.name, getattr(speaker, field.name))
     spkr.check_initialized()
     return spkr
    def _copySpeakerToForm(self, speaker):
        """Copy relevant fields from Session to SessionForm."""
        sf = SpeakerForm()
        for field in sf.all_fields():
            if hasattr(speaker, field.name):
                setattr(sf, field.name, getattr(speaker, field.name))

        sf.check_initialized()
        return sf
 def _copySpeakerToForm(self, speaker):
     """Copy speaker to form"""
     sp = SpeakerForm()
     for field in sp.all_fields():
         if hasattr(speaker, field.name):
             setattr(sp, field.name, getattr(speaker, field.name))
         elif field.name == "websafeKey":
             setattr(sp, field.name, speaker.key.urlsafe())
     sp.check_initialized()
     return sp
 def _copySpeakerToForm(self, speaker):
     """Copy relevant fields from Speaker to SpeakerForm."""
     sf = SpeakerForm()
     for field in sf.all_fields():
         if hasattr(speaker, field.name):
             setattr(sf, field.name, getattr(speaker, field.name))
         elif field.name == "websafeKey":
             setattr(sf, field.name, speaker.key.urlsafe())
     sf.check_initialized()
     return sf
Beispiel #17
0
    def _copySpeakerToForm(self, speaker):
        # Get empty SessionForm
        sf = SpeakerForm()

        # Copy fields from Session to SessionForm
        for field in sf.all_fields():
            if hasattr(speaker, field.name):
                setattr(sf, field.name, getattr(speaker, field.name))
        sf.check_initialized()
        return sf
 def _copySpeakerToForm(self, speaker):
     """Copy relevant fields from Speaker to SpeakerForm."""
     form = SpeakerForm()
     if speaker is not None:
         setattr(form, 'websafeKey', speaker.key.urlsafe())
         for field in form.all_fields():
             if hasattr(speaker, field.name):
                 setattr(form, field.name, getattr(speaker, field.name))
         form.check_initialized()
     return form
Beispiel #19
0
 def _copySpeakerToForm(self, speaker):
     """Check for speaker info, return speakerForm with speaker information."""
     sf = SpeakerForm()
     for field in sf.all_fields():
         if hasattr(speaker, field.name):
             setattr(sf, field.name, getattr(speaker, field.name))
         elif field.name == 'websafeKey':
             setattr(sf, field.name, speaker.key.urlsafe())
     sf.check_initialized()
     return sf
 def _copySpeakerToForm(self, speaker):
     """Copy relevant fields from Speaker to SpeakerForm"""
     sf = SpeakerForm()
     for field in sf.all_fields():
         if hasattr(speaker, field.name):
             setattr(sf, field.name, getattr(speaker, field.name))
         elif field.name == "websafeKey":
             setattr(sf, field.name, speaker.key.urlsafe())
     sf.check_initialized()
     return sf
Beispiel #21
0
 def _copySpeakerToForm(self, speak):
     """Copy relevant fields from Speaker to SpeakerForm."""
     sp = SpeakerForm()
     for field in sp.all_fields():
         if hasattr(speak, field.name):
             setattr(sp, field.name, getattr(speak, field.name))
         elif field.name == "speakerWebSafeKey":
             setattr(sp, field.name, speak.key.urlsafe())
     sp.check_initialized()
     return sp
Beispiel #22
0
 def _copySpeakerToForm(self, speaker):
     sf = SpeakerForm()
     for field in sf.all_fields():
         print "Field %s" % field.name
         if hasattr(speaker, field.name):
             setattr(sf, field.name, str(getattr(speaker, field.name)))
         elif field.name == 'websafeKey':
             setattr(sf, field.name, speaker.key.urlsafe())
     sf.check_initialized()
     return sf
 def _copySpeakerToForm(self, speaker):
     """Copy relevant fields from Speaker to SpeakerForm."""
     form = SpeakerForm()
     if speaker is not None:
         setattr(form, 'websafeKey', speaker.key.urlsafe())
         for field in form.all_fields():
             if hasattr(speaker, field.name):
                 setattr(form, field.name, getattr(speaker, field.name))
         form.check_initialized()
     return form
    def _copySpeakerToForm(self, speaker):
        sf = SpeakerForm()
        for field in sf.all_fields():
            if hasattr(speaker, field.name):
                # convert Date to date string; just copy others
                setattr(sf, field.name, getattr(speaker, field.name))
            elif field.name == "websafeKey":
                setattr(sf, field.name, speaker.key.urlsafe())

        sf.check_initialized()
        return sf
 def getFeaturedSpeaker(self, request):
     """Returns the sessions of the featured speaker"""
     # attempt to get data from memcache
     data = memcache.get(MEMCACHE_FEATURED_SPEAKER_KEY)
     # copy relevant fields to SpeakerForm
     sf = SpeakerForm()
     for field in sf.all_fields():
         if data and data[field.name]:
             setattr(sf, field.name, str(data[field.name]))
     sf.check_initialized()
     return sf
 def _copySpeakerToForm(self, speaker):
     """Copy relevant fields from Speaker to SpeakerForm."""
     # for all fields in SpeakerForm copy the analogous parameter in the
     # Speaker object to the SpeakerForm
     sf = SpeakerForm()
     for field in sf.all_fields():
         if hasattr(speaker, field.name):
             setattr(sf, field.name, getattr(speaker, field.name))
         elif field.name == "websafeKey":
             setattr(sf, field.name, speaker.key.urlsafe())
     sf.check_initialized()
     return sf
 def _copySpeakerToForm(self, speaker):
     """Copy relevant fields from Speaker to SpeakerForm."""
     sf = SpeakerForm()
     for field in sf.all_fields():
         # retrieve speaker ID and display on SpeakerForm
         if field.name == 'speakerId':
             sf.speakerId = speaker.key.integer_id()
         # copy other fields
         elif hasattr(speaker, field.name):
             setattr(sf, field.name, getattr(speaker, field.name))
     sf.check_initialized()
     return sf
Beispiel #28
0
 def _copySpeakerToForm(self, speak):
     """Copy relevant fields from Speaker to SpeakerForm."""
     # Initialze form, copy existing properties, validate required fields
     spf = SpeakerForm()
     for field in spf.all_fields():
         if hasattr(speak, field.name):
             setattr(spf, field.name, getattr(speak, field.name))
         elif field.name == "websafeKey":
             setattr(spf, field.name, speak.key.urlsafe())
         elif field.name == "creatorUserId":
             setattr(spf, field.name, speak.key.parent().id())
     spf.check_initialized()
     return spf
Beispiel #29
0
    def getFeaturedSpeaker(self, request):
        """Return conference name and Featured speaker (by websafeConferenceKey)."""
        # get Conference object from request; bail if not found
        sf = SpeakerForm()
        conf = ndb.Key(urlsafe=request.websafeConferenceKey).get()
        if not conf:
            raise endpoints.NotFoundException(
                'No conference found with key: %s' % request.websafeConferenceKey)
        #prof = conf.key.parent().get()
        for field in sf.all_fields():
            if hasattr(conf, field.name):
                setattr(sf, field.name, getattr(conf, field.name))

        sf.check_initialized()

        return sf
    def _copySpeakerToForm(self, speaker):
        """Copy data from a Speaker entity to a SpeakerForm"""

        # If no input provided return none.
        if not speaker:
            return

        speaker_form = SpeakerForm()
        for field in speaker_form.all_fields():
            if hasattr(speaker, field.name):
                setattr(speaker_form, field.name, getattr(speaker, field.name))
            elif field.name == "websafeSpeakerKey":
                setattr(speaker_form, field.name, speaker.key.urlsafe())
        speaker_form.check_initialized()

        return speaker_form
    def _copySpeakerToForm(self, speaker):
        """Copy data from a Speaker entity to a SpeakerForm"""

        # If no input provided return none.
        if not speaker:
            return


        speaker_form = SpeakerForm()
        for field in speaker_form.all_fields():
            if hasattr(speaker, field.name):
                setattr(speaker_form, field.name, getattr(speaker, field.name))
            elif field.name == "websafeSpeakerKey":
                setattr(speaker_form, field.name, speaker.key.urlsafe())
        speaker_form.check_initialized()

        return speaker_form
    def _createSpeakerObject(self, request):
        """
        Creates a Speaker entity in datastore based on the information provided
        by client.
        Sends a confirmation email after adding the new Speaker
        """
        # preload necessary data items
        user = endpoints.get_current_user()
        if not user:
            raise endpoints.UnauthorizedException('Authorization required')
        user_id = getUserId(user)

        if not request.name:
            raise endpoints.BadRequestException("Speaker 'name' \
                field required")

        data = {
            field.name: getattr(request, field.name)
            for field in request.all_fields()
        }
        del data['websafeSpeakerKey']

        # create Speaker & return (modified) SpeakerForm
        speaker_key = Speaker(**data).put()
        taskqueue.add(params={
            'email': user.email(),
            'speakerInfo': repr(request)
        },
                      url='/tasks/send_speaker_confirmation_email')
        # Return data as SpeakerForm
        speakerform = SpeakerForm()

        for field in speakerform.all_fields():
            if data.has_key(field.name):
                setattr(speakerform, field.name, data[field.name])
            # Checks if the field is websafeSpeakerKey, then converts it into
            # urlsafe key
            elif field.name == "websafeSpeakerKey":
                setattr(speakerform, field.name, speaker_key.urlsafe())

        speakerform.check_initialized()
        return speakerform
    def getFeaturedSpeaker(self, request):
        """Returns the sessions of the featured speaker"""
        # attempt to get data from memcache
        data = memcache.get(MEMCACHE_FEAT_SPKR_KEY)
        speaker = None
        sessionNames = []

        if data and data.has_key('speaker') and data.has_key('sessionNames'):
            speaker = data['speaker']
            sessionNames = data['sessionNames']

        # populate speaker form
        sf = SpeakerForm()
        for field in sf.all_fields():
            if field.name == 'sessionNames':
                setattr(sf, field.name, sessionNames)
            elif field.name == 'speaker':
                setattr(sf, field.name, speaker)
        sf.check_initialized()
        return sf
Beispiel #34
0
    def _copySpeakerToForm(self, speaker):
        """Copy relevant fields from Speaker to SpeakerForm."""
        speaker_form = SpeakerForm()
        for field in speaker_form.all_fields():
            if hasattr(speaker, field.name):
                if field.name == "sessionKeysSpeakAt":
                    all_keys = []
                    for each_key in speaker.sessionKeysSpeakAt:
                        all_keys.append(each_key.urlsafe())
                    print "%^&*(*&^%$%^&*(*&^%"
                    print all_keys
                    setattr(speaker_form, field.name, all_keys)
                else:
                    setattr(speaker_form, field.name,
                            getattr(speaker, field.name))

            elif field.name == "websafeKey":
                setattr(speaker_form, field.name, speaker.key.urlsafe())
        speaker_form.check_initialized()
        return speaker_form
    def _createSpeakerObject(self, request):
        """
        Creates a Speaker entity in datastore based on the information provided
        by client.
        Sends a confirmation email after adding the new Speaker
        """
        # preload necessary data items
        user = endpoints.get_current_user()
        if not user:
            raise endpoints.UnauthorizedException("Authorization required")
        user_id = getUserId(user)

        if not request.name:
            raise endpoints.BadRequestException(
                "Speaker 'name' \
                field required"
            )

        data = {field.name: getattr(request, field.name) for field in request.all_fields()}
        del data["websafeSpeakerKey"]

        # create Speaker & return (modified) SpeakerForm
        speaker_key = Speaker(**data).put()
        taskqueue.add(
            params={"email": user.email(), "speakerInfo": repr(request)}, url="/tasks/send_speaker_confirmation_email"
        )
        # Return data as SpeakerForm
        speakerform = SpeakerForm()

        for field in speakerform.all_fields():
            if data.has_key(field.name):
                setattr(speakerform, field.name, data[field.name])
            # Checks if the field is websafeSpeakerKey, then converts it into
            # urlsafe key
            elif field.name == "websafeSpeakerKey":
                setattr(speakerform, field.name, speaker_key.urlsafe())

        speakerform.check_initialized()
        return speakerform
    def _copySpeakerToForm(self, speaker):
        """ Copy relevant fields from speaker to SpeakerForm."""

        speakerForm = SpeakerForm()
        for field in speakerForm.all_fields():
            if hasattr(speaker, field.name):
                # Process the list of session keys in speaker
                if field.name == "sessions":
                    sessionKeys = getattr(speaker, field.name)

                    sessions = ndb.get_multi(sessionKeys)
                    session_websafeKeys = [session.key.urlsafe() for session in sessions]

                    setattr(speakerForm, field.name, session_websafeKeys)

                else:
                    setattr(speakerForm, field.name, getattr(speaker, field.name))

            elif field.name == "websafeKey":
                setattr(speakerForm, field.name, speaker.key.urlsafe())

        speakerForm.check_initialized()
        return speakerForm
    def getFeaturedSpeaker(self, request):
        """Return featured speaker for a specific conference from memcache"""
        conference_key = request.websafeConferenceKey

        # get data from memcache
        data = memcache.get(FEATURED_SPEAKER_KEY+conference_key)

        sessions = []
        speaker_sessions = []
        speaker = None

        # if data exists and has keys for 'speaker', 'speaker_sessions'
        # and 'conference_key' then get the 'speaker' & 'speaker_sessions' values

        if data and data.has_key('speaker') and data.has_key('speaker_sessions'):
            speaker = data['speaker']
            speaker_sessions = data['speaker_sessions']
        else:
            # if data does not exist or keys do not exist, then get the data of
            #the next upcoming session to return it
            upcoming_session = Session.query(Session.date >= datetime.now())\
                                .order(Session.date, Session.startTime).get()
            if upcoming_session:
                speaker = upcoming_session.speaker
                sessions = Session.query(Session.speaker == speaker)
                speaker_sessions = ', '.join([session.name for session in sessions])

        speaker_form = SpeakerForm()
        for field in speaker_form.all_fields():
            if field.name == 'speaker_sessions':
                setattr(speaker_form, field.name, speaker_sessions)
            elif field.name == 'speaker':
                setattr(speaker_form, field.name, speaker)
            elif field.name == 'conference_key':
                setattr(speaker_form, field.name, conference_key)
        speaker_form.check_initialized()
        return speaker_form
    def getFeaturedSpeaker(self, request):
        """Get featured speaker from memcache"""

        # verify user is authed
        user = endpoints.get_current_user()
        if not user:
            raise endpoints.UnauthorizedException('Authorization required')

        # get featured speaker from memcache if it exists
        conf = memcache.get(request.websafeConferenceKey)
        if not conf:
            raise endpoints.NotFoundException(
                'No conference memcache found with key: %s' % request.websafeConferenceKey)

        # iterate then return SpeakerForm
        speaker_form = SpeakerForm()
        for field in speaker_form.all_fields():
            if field.name == 'sessionName':
                setattr(speaker_form, field.name, conf['sessionName'])
            elif field.name == 'displayName':
                setattr(speaker_form, field.name, conf['displayName'])
        speaker_form.check_initialized()

        return speaker_form