예제 #1
0
 def _copyFeaturedToForm(data):
     """Copy relevant fields from Session to SessionForm."""
     speaker_form = FeaturedSpeakerForm()
     speaker_form.speaker = data['speaker']
     speaker_form.sessions = data['sessions']
     speaker_form.check_initialized()
     return speaker_form
 def _copySpeakerToForm(self, speaker, sessions):
     """Copy relevant fields from speaker/sessions to FeaturedSpeakerForm."""
     sf = FeaturedSpeakerForm()
     setattr(sf, 'speaker', speaker)
     setattr(sf, 'sessions', sessions)
     sf.check_initialized()
     return sf
예제 #3
0
    def _cacheFeaturedSpeaker(sessionKey):
        """Create Featured Speaker and assign to Memcache"""

        # Retrieve for key Session
        session_key = ndb.Key(urlsafe=sessionKey)

        # Retrieve session based on key
        session = session_key.get()

        # Retrieve speaker name for the session
        speakerName = session.speakerName

        # Get conference information from session key
        c_key = session_key.parent()

        # Query sessions
        # Filter sessions with the same parent using ancestor relationship
        # Filter sessions based on speakerName
        q = Session.query(ancestor=c_key)
        q = q.filter(Session.speakerName == speakerName)

        # Get number of sessions returned by the query filter
        number_of_sessions = q.count()

        if number_of_sessions > 1:
            message = FeaturedSpeakerForm()
            message.speakerName = speakerName
            message.name = [session.speakerName for session in q]

            # Set message inside memcache
            memcache.set(key=MEMCACHE_FEATURED_SPEAKER_KEY, value=message)
 def _copyFeaturedSpeakersToForm(self, speaker, sessions):
     """Copy relevant fields from Session to FeatureSpeakerForm."""
     fsf = FeaturedSpeakerForm()
     fsf.speaker = speaker
     for session in sessions:
         fsf.name.append(session)
     fsf.check_initialized()
     return fsf
예제 #5
0
    def getFeaturedSpeaker(self, request):
        """Returns the featured speaker."""

        featuredSpeaker = memcache.get(MEMCACHE_FEATURED_SPEAKER_KEY)

        form = FeaturedSpeakerForm()

        if featuredSpeaker:
            form.speaker = featuredSpeaker
        else:
            form.speaker = "There is no featured speaker at the moment."

        return form
예제 #6
0
 def getFeaturedSpeaker(self, request):
     """Return Speaker from memcache."""
     #if empty memcache
     if memcache.get(MEMCACHE_FEATURED_SPEAKER_KEY) == None:
         return FeaturedSpeakerForm(featuredSpeaker="",
                                    sessions=[],
                                    conference="")
     #populate FeaturedSpeakerForm if memcache is not empty
     return FeaturedSpeakerForm(
         featuredSpeaker=\
         memcache.get(MEMCACHE_FEATURED_SPEAKER_KEY)['featured_speaker'] \
         or "",
         sessions=memcache.get(MEMCACHE_FEATURED_SPEAKER_KEY)['sessions']\
         or [],
         conference=\
         memcache.get(MEMCACHE_FEATURED_SPEAKER_KEY)['conference']) or ""
예제 #7
0
    def getFeaturedSpeaker(self, request):
        """Takes the websafeKey of a conference and returns a featured
        speaker form object."""
        featured_speaker = memcache.get(request.websafeConferenceKey)

        if not featured_speaker:
            raise endpoints.NotFoundException("""No featured speaker found in
            memcache for the given conference.""")
        return FeaturedSpeakerForm(
            speaker=featured_speaker['speaker'],
            websafeSessionKeys=featured_speaker['websafeSessionKeys'])
	def getFeaturedSpeaker(self, request):
		"""returns featured speaker from Memchace"""
		# return an existing Featured Speaker from Memcache or an empty string.
		speakerform = FeaturedSpeakerForm()
		f_speaker = memcache.get(MEMCACHE_FEATURED_SPEAKER_KEY)

		if not f_speaker:
			f_speaker = "No entries in Memcache"
			speakerform.speaker = f_speaker
			return speakerform

		speaker = f_speaker['speaker']

		sessions = f_speaker['sessions']
		
		# copy data to form
		for field in speakerform.all_fields():
			if field.name == 'speaker':
				setattr(speakerform, field.name, speaker)
			elif field.name == 'sessions':
				setattr(speakerform, field.name, sessions)
		speakerform.check_initialized()
		return speakerform