def _copySessionToForm(self, session): """Copy relevant fields from Session to SessionForm.""" sf = SessionForm() for field in sf.all_fields(): if field.name == 'startTime': sf.startTime = str(session.startTime) elif hasattr(session, field.name): setattr(sf, field.name, getattr(session, field.name)) speakerEmail = session.speakerEmail speaker = SessionSpeaker.query(SessionSpeaker.email == speakerEmail).get() if not speaker: sf.speakerName = "Not Found" sf.speakerEmail = "Not Found" else: sf.speakerEmail = speakerEmail sf.speakerName = speaker.name sf.websafeConferenceKey = session.key.parent().urlsafe() sf.websafeSessionKey = session.key.urlsafe() sf.check_initialized() return sf
def _copySessionToForm(self, session): """Copy the relavent fields from Session to SessionForm.""" sf = SessionForm() for field in sf.all_fields(): # Need special treatment for `date` and `startTime` fields. if field.name in ("date", "startTime", "duration"): setattr(sf, field.name, str(getattr(session, field.name))) elif field.name == "typeOfSession": sf.typeOfSession = SessionType(session.typeOfSession) elif field.name == "websafeKey": sf.websafeKey = session.key.urlsafe() elif field.name == "websafeConferenceKey": sf.websafeConferenceKey = session.key.parent().urlsafe() elif hasattr(session, field.name): # name, highlights and speaker. setattr(sf, field.name, getattr(session, field.name)) else: raise endpoints.InternalServerErrorException( "Unexpected field name '%s'." % field.name) sf.check_initialized() return sf