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
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
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): 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
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
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
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
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
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
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): 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
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
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 _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
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