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
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
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
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 ""
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