Ejemplo n.º 1
0
    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 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
Ejemplo n.º 3
0
    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     
Ejemplo n.º 4
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
Ejemplo n.º 5
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
Ejemplo n.º 7
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
Ejemplo n.º 8
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
Ejemplo n.º 9
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
Ejemplo n.º 10
0
 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
Ejemplo n.º 11
0
    def _copySpeakerToForm(self, spkr):
        """Copy relevant fields from Speaker to SpeakerForm."""
        sf = SpeakerForm()
        setattr(sf, "name", getattr(spkr, "name"))
        setattr(sf, "websafeKey", spkr.key.urlsafe())

        sf.check_initialized()
        return sf
Ejemplo n.º 12
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):
             setattr(speaker_form, field.name, getattr(speaker, field.name))
     speaker_form.check_initialized()
     return speaker_form
Ejemplo n.º 13
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
Ejemplo n.º 14
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
Ejemplo n.º 15
0
    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
Ejemplo n.º 17
0
 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
Ejemplo n.º 18
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
Ejemplo n.º 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
Ejemplo n.º 20
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
Ejemplo n.º 21
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."""
     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
Ejemplo n.º 23
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))
         elif field.name == "websafeKey":
             setattr(sf, field.name, speaker.key.urlsafe())
     sf.check_initialized()
     return sf
Ejemplo n.º 24
0
 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
Ejemplo n.º 25
0
    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
Ejemplo n.º 26
0
 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
Ejemplo n.º 27
0
 def getFeaturedSpeaker(self, request):
     """Return all featured speakers from Memcache"""
     featuredSpeakers = memcache.get(MEMCACHE_FEATURED_SPEAKER_KEY)
     speakerForms = []
     for speakerEmail in featuredSpeakers:
         speaker = SessionSpeaker.query(SessionSpeaker.email == speakerEmail).get()
         speakerForm = SpeakerForm()
         speakerForm.name = speaker.name
         speakerForm.email = speaker.email
         speakerForm.check_initialized()
         speakerForms.append(speakerForm)
     return SpeakerForms(items=speakerForms)
Ejemplo n.º 28
0
 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
Ejemplo n.º 29
0
 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
Ejemplo n.º 30
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
Ejemplo n.º 31
0
 def toSpeakerForm(self, speaker, displayName=None, websafeSpeakerKey=None):
     """Copy relevant fields from Speaker to SpeakerForm."""
     sp = SpeakerForm()
     for field in ("sessionKeysToSpeakAt", "mainEmail", "displayName", "websafeSpeakerKey"):
         if hasattr(speaker, field):
             setattr(sp, field, getattr(speaker, field))
         elif field == "websafeSpeakerKey" and hasattr(speaker, "key"):
             setattr(sp, field, speaker.key.urlsafe())
     if displayName:
         setattr(sp, "displayName", displayName)
     if websafeSpeakerKey:
         setattr(sp, "websafeSpeakerKey", websafeSpeakerKey)
     sp.check_initialized()
     return sp
Ejemplo n.º 32
0
    def _copySpeakerToForm(self, speaker):
        """Copy relevant fields from Speaker to SpeakerForm"""

        # create a new entity first
        sf = SpeakerForm()

        # convert Speaker properties to SpeakerForm fields
        sf.name = speaker.name
        sf.bio = speaker.bio
        sf.websafeKey = speaker.key.urlsafe()

        # check and return
        sf.check_initialized()
        return sf
Ejemplo n.º 33
0
    def _copySpeakerToForm(self, speaker):
        """Copy relevant fields from Speaker to SpeakerForm"""

        # create a new entity first
        sf = SpeakerForm()

        # convert Speaker properties to SpeakerForm fields
        sf.name = speaker.name
        sf.bio = speaker.bio
        sf.websafeKey = speaker.key.urlsafe()

        # check and return
        sf.check_initialized()
        return sf
Ejemplo n.º 34
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
Ejemplo n.º 35
0
    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
Ejemplo n.º 36
0
    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
Ejemplo n.º 38
0
    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
Ejemplo n.º 39
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
Ejemplo n.º 41
0
 def _copySpeakerToForm(self, request):
     """Copy relevant fields from Speaker to SpeakerForm."""
     sf = SpeakerForm()
     sf.check_initialized()
     return sf