Exemplo n.º 1
0
    def _copySessionToForm(self, sess):
        """Sets the fields from Session to SessionForm"""
        sf = SessionForm()

        for field in sf.all_fields():
            if hasattr(sess, field.name):
                # If the field is the session date 'stringity' it's value
                if field.name.endswith('date'):
                    setattr(sf, field.name, str(getattr(sess, field.name)))
                elif field.name.endswith('startTime') and getattr(sess, field.name):
                    # Transform the float type of the startTime field into a
                    # string
                    if not type(getattr(sess, field.name)) is str:
                        time = str(getattr(sess, field.name)).split('.')
                        startTime = str(int((float(time[1]) / 100) * 60))[:2]
                        setattr(sf, field.name, str(time[0] + ':' + startTime))
                    else:
                        setattr(sf, field.name, str(getattr(sess, field.name)))
                else:
                    setattr(sf, field.name, getattr(sess, field.name))
            elif field.name == "websafeKey":
                # If the name is websakeKey set the urlsafe
                setattr(sf, field.name, sess.key.urlsafe())
        sf.check_initialized()
        return sf
    def _copySessionToForm(self, session):
        """ Copy relevant fields from Session to SessionForm.
        Set the speakerName using the second passed argument.
    """
        sf = SessionForm()
        date = getattr(session, "date")
        startTime = getattr(session, "startTime")
        endTime = getattr(session, "endTime")

        # copy duration
        if startTime and endTime:
            duration = (endTime.hour * 60 + endTime.minute) \
                      - (startTime.hour * 60 + startTime.minute)
        else:
            duration = 0

        # copy other fields
        setattr(sf, "name", getattr(session, "name"))
        setattr(sf, "highlights", getattr(session, "highlights"))
        setattr(sf, "typeOfSession",
                getattr(SessionType, getattr(session, "typeOfSession")))
        setattr(sf, "speaker", getattr(session, "speaker"))
        setattr(sf, "date", str(date))
        setattr(sf, "startTime", str(startTime))
        setattr(sf, "duration", duration)
        setattr(sf, "wssk", session.key.urlsafe())
        sf.check_initialized()
        return sf
 def _copySessionToForm(self, session):
     """ Copy relevant fields from Session to SessionForm
     """
     sf = SessionForm()
     for field in sf.all_fields():
         if hasattr(session, field.name):
             # XXX Save an endTime when startTime and duration is
             # both given
             if field.name in ('date', 'startTime'):
                 # convert Date and Time to date and time string
                 setattr(sf, field.name, str(getattr(session, field.name)))
             elif field.name == 'typeOfSession':
                 # convert typeOfSession string to Enum
                 setattr(sf, field.name,
                         getattr(SessionType, getattr(session, field.name)))
             elif field.name == 'speakers':
                 setattr(sf, field.name, [
                     str(speaker)
                     for speaker in getattr(session, field.name)
                 ])
             else:
                 # just copy the others
                 setattr(sf, field.name, getattr(session, field.name))
         elif field.name == "websafeKey":
             setattr(sf, field.name, session.key.urlsafe())
     sf.check_initialized()
     return sf
    def _copyConferenceSessionToForm(self, session):
        """Copy relevant fields from Session to SessionForm."""

        sf = SessionForm()
        
        for field in sf.all_fields():
        
            if hasattr(session, field.name):
        
                # Convert date and startTime fields to strings
                if field.name == 'date' or field.name == 'startTime':
        
                    setattr(sf, field.name, str(getattr(session, field.name)))
        
                # Convert typeOfSession to enum
                elif field.name == 'typeOfSession':
                    
                    # set typeOfSession equal to enum 
                    setattr(
                        sf, field.name, getattr(
                            SessionType, getattr(session, field.name)))
                
                else:
                
                    setattr(sf, field.name, getattr(session, field.name))
            
            # Convert DataStore keys to URLSafe keys
            elif field.name == 'parentKey' or field.name == 'speakerKey':
            
                setattr(sf, field.name, session.key.urlsafe())
        
        sf.check_initialized()
        
        return sf
 def _copySessionToForm(self, session):
     """Copy relevant fields from Session to SessionForm."""
     sf = SessionForm()
     for field in sf.all_fields():
         if hasattr(session, field.name):
             # convert Date to date string; just copy others
             if field.name.endswith('Date') or \
                field.name.endswith('Time') or \
                field.name == 'duration':
                 setattr(sf, field.name, str(getattr(session, field.name)))
             elif field.name == 'typeOfSession':
                 value = getattr(session, field.name)
                 if value:
                     value = str(getattr(session, field.name))
                 else:
                     value = 'NOT_SPECIFIED'
                 setattr(sf, field.name, getattr(SessionType, value))
             else:
                 setattr(sf, field.name, getattr(session, field.name))
         elif field.name == 'websafeKey':
             setattr(sf, field.name, session.key.urlsafe())
         elif field.name == 'conferenceWebsafeKey':
             key = session.key.parent()
             if key:
                 setattr(sf, field.name, key.urlsafe())
     sf.check_initialized()
     return sf
Exemplo n.º 6
0
 def _copySessionToForm(self, session):
     """Copy relevant fields from Session to SessionForm."""
     # copy relevant fields from Session to SessionForm
     form = SessionForm()
     setattr(form, 'websafeKey', session.key.urlsafe())
     for field in form.all_fields():
         if hasattr(session, field.name):
             # convert session type enum to string; just copy others
             if field.name == 'typeOfSession':
                 setattr(form, field.name,
                         getattr(SessionType, getattr(session, field.name)))
             elif field.name == 'conferenceId':
                 setattr(form, field.name,
                         str(getattr(session, field.name).id()))
             elif field.name == 'speaker':
                 setattr(form, field.name,
                         getattr(session, field.name).get().name)
             elif field.name == 'startTime':
                 setattr(form, field.name, str(getattr(session,
                                                       field.name)))
             elif field.name == 'date':
                 setattr(form, field.name, str(getattr(session,
                                                       field.name)))
             else:
                 setattr(form, field.name, getattr(session, field.name))
     form.check_initialized()
     return form
Exemplo n.º 7
0
    def _copySessionToForm(self, sess):
        """Copy relevant fields from Session to SessionForm."""
        sf = SessionForm()
        for field in sf.all_fields():
            if hasattr(sess, field.name):
                if field.name == 'speaker':
                    sf.speaker = SpeakerForm(
                        name=sess.speaker.name,
                        email=sess.speaker.email,
                        websafeSpeakerKey=sess.speaker.websafeSpeakerKey,
                    )

                # convert sessionType string to Enum
                elif field.name == 'sessionType':
                    setattr(sf, field.name,
                            getattr(SessionType, getattr(sess, field.name)))
                # convert Date to date string
                elif field.name == 'date':
                    setattr(sf, field.name, str(getattr(sess, field.name)))
                # just copy others
                else:
                    setattr(sf, field.name, getattr(sess, field.name))
            # get the websafe session key
            elif field.name == 'websafeKey':
                setattr(sf, field.name, sess.key.urlsafe())
        sf.check_initialized()
        return sf
Exemplo n.º 8
0
    def _copySessionToForm(self, sess):
        """Copy relevant fields from Session to SessionForm."""

        sf = SessionForm()
        for field in sf.all_fields():
            if hasattr(sess, field.name):
                if field.name == 'date':
                    sf.date = str(sess.date)
                elif field.name == 'timeStart':
                    sf.timeStart = str(sess.timeStart)
                elif field.name == 'timeEnd':
                    sf.timeEnd = str(sess.timeEnd)
                elif field.name == 'duration':
                    sf.timeEnd = str(sess.timeEnd)
                elif field.name == 'typeOfSession':
                    try:
                        setattr(
                            sf, field.name,
                            getattr(SessionType, getattr(sess, field.name)))
                    except AttributeError:
                        setattr(sf, field.name,
                                getattr(SessionType, 'NOT_SPECIFIED'))
                else:
                    setattr(sf, field.name, getattr(sess, field.name))
        sf.websafeKey = sess.key.urlsafe()
        sf.check_initialized()

        return sf
Exemplo n.º 9
0
 def _copySessionToForm(self, sess):
     """Copy relevant fields from Session to SessionForm."""
     sf = SessionForm()
     for field in sf.all_fields():
         if hasattr(sess, field.name):
             # convert t-shirt string to Enum; just copy others
             if field.name == 'typeOfSession':
                 setattr(sf, field.name,
                         getattr(TypeOfSession, getattr(sess, field.name)))
             # convert date to date string
             elif field.name == 'date':
                 setattr(sf, field.name, str(getattr(sess, field.name)))
             # convert startTime to time string
             elif field.name.endswith('Time'):
                 setattr(sf, field.name, str(getattr(sess, field.name)))
             # convert startTime to time string
             elif field.name == 'duration':
                 setattr(sf, field.name, str(getattr(sess, field.name)))
             # convert Speaker keys as list to strings as a list
             elif field.name == 'speakers':
                 setattr(sf, field.name,
                         [str(s.get().name) for s in sess.speakers])
             # just copy the other fields
             else:
                 setattr(sf, field.name, getattr(sess, field.name))
         elif field.name == 'websafeKey':
             setattr(sf, field.name, sess.key.urlsafe())
         elif field.name == 'websafeConfKey':
             setattr(sf, field.name, sess.key.parent().urlsafe())
     sf.check_initialized()
     return sf
    def _copySessionToForm(self, session):
        """
        Input:
            session: Session object
        Returns:
            SessionForm
        Description:
            This method takes a session object with values defined from client
            side and returns the SessionFrom after copying the relevant fields in
            it which can be returned to client as ProRPC Message.
        """
        sessionform = SessionForm()
        for field in sessionform.all_fields():
            if hasattr(session, field.name):
                # convert Date to date string; just copy others
                if field.name.endswith('date'):
                    setattr(sessionform, field.name,
                            str(getattr(session, field.name)))
                else:
                    setattr(sessionform, field.name,
                            getattr(session, field.name))
            # Checks if the field is websafeSessionKey, then converts it into
            # urlsafe key
            elif field.name == "websafeSessionKey":
                setattr(sessionform, field.name, session.key.urlsafe())

        sessionform.check_initialized()
        return sessionform
Exemplo n.º 11
0
 def _copySessionToForm(self, session, name=None):
     """Copy relevant fields from Session to SessionForm."""
     sf = SessionForm()
     for field in sf.all_fields():
         if hasattr(session, field.name):
             if field.name == "dateTime":
                 s_date = getattr(session, field.name)
                 if s_date:
                     setattr(sf, 'dateTime', s_date.strftime('%y-%m-%d'))
                     setattr(sf, 'startTime', s_date.strftime('%H:%M'))
             elif field.name == "speaker":
                 speakerID = getattr(session, field.name)
                 # get speaker object if there is one assigend
                 if speakerID == None:
                     setattr(sf, 'speakerDisplayName', 'NONE ASSIGNED')
                 else:
                     speak = Speaker.get_by_id(speakerID)
                     setattr(sf, 'speakerDisplayName', speak.name)
             #set typeOfSession
             #if there is no typeOfSession then set it to 'NOT_SPECIFIED'
             elif field.name == "typeOfSession":
                 currentType = getattr(session, field.name)
                 if currentType:
                     setattr(sf, field.name,
                             getattr(SessionType, str(currentType)))
                 else:
                     setattr(sf, field.name,
                             getattr(SessionType, 'NOT_SPECIFIED'))
             else:
                 setattr(sf, field.name, getattr(session, field.name))
     sf.check_initialized()
     return sf
Exemplo n.º 12
0
    def _copySessionToForm(self, sess):
        """Copy relevant fields from Session to SessionForm."""
        sf = SessionForm()
        for field in sf.all_fields():
            if hasattr(sess, field.name):
                # convert Date to date string; just copy others
                if field.name in ['startTime', 'date']:
                    setattr(sf, field.name, str(getattr(sess, field.name)))
                #get the websafe key from session to display
                elif field.name == 'speakerKeys':
                    spkrs = getattr(sess, field.name)
                    spkrs = [s.urlsafe() for s in spkrs]
                    setattr(sf, field.name, spkrs)
                else:
                    setattr(sf, field.name, getattr(sess, field.name))
            #show's the speaker's names
            if field.name == 'speakerNames':
                spkrs = getattr(sess, 'speakerKeys')
                spkrs = [s.get().name for s in spkrs]
                setattr(sf, field.name, spkrs)
            if field.name == 'websafeSessionKey':
                webKey = sess.key.urlsafe()
                setattr(sf, field.name, webKey)

        sf.check_initialized()
        return sf
Exemplo n.º 13
0
 def _copySessionToForm(self, sess):
     """Copy relevant fields from Session to SessionForm."""
     sf = SessionForm()
     for field in sf.all_fields():
         if hasattr(sess, field.name):
             # Convert Date to string
             # Convert Time to string in HH:MM only
             # else convert others as is
             if field.name.endswith('date'):
                 setattr(sf, field.name, str(getattr(sess, field.name)))
             elif field.name.endswith('Time'):
                 setattr(sf, field.name,
                         str(getattr(sess, field.name).strftime("%H:%M")))
             else:
                 setattr(sf, field.name, getattr(sess, field.name))
         elif field.name == "sessionWebSafeKey":
             setattr(sf, field.name, sess.key.urlsafe())
         elif field.name == "speakerName":
             try:
                 speaker = sess.speaker.get()
                 speakerName = "%s %s" % (getattr(speaker, "firstName"),
                                          getattr(speaker, "lastName"))
                 setattr(sf, 'speakerName', speakerName)
             except:
                 pass
     sf.check_initialized()
     return sf
Exemplo n.º 14
0
 def _copySessionToForm(self, sess):
     """Copy relevant fields from Session to SessionForm."""
     cf = SessionForm()
     for field in cf.all_fields():
         if hasattr(sess, field.name):
             if field.name.endswith('Time') or field.name.endswith('date'):
                 setattr(cf, field.name, str(getattr(sess, field.name)))
             else:
                 setattr(cf, field.name, getattr(sess, field.name))
     cf.check_initialized()
     return cf
Exemplo n.º 15
0
 def _copySessionToForm(self, sess):
     """Copy relevant fields from Session to SessionForm."""
     sf = SessionForm()
     for field in sf.all_fields():
         if hasattr(sess, field.name):
             # convert Date to date string; just copy others
             if field.name.endswith('Date'):
                 setattr(sf, field.name, str(getattr(sess, field.name)))
             else:
                 setattr(sf, field.name, getattr(sess, field.name))
     sf.check_initialized()
     return sf
 def _copySessionToForm(self, sess):
     """Copy fields from Session to SessionForm"""
     sf = SessionForm()
     for field in sf.all_fields():
         if hasattr(sess, field.name):
             #convert all to string, except duration
             if field.name != "duration":
                 setattr(sf, field.name, str(getattr(sess, field.name)))
         elif field.name == "websafeSessionKey":
             setattr(sf, field.name, sess.key.urlsafe())
     sf.check_initialized()
     return sf
 def _copySessionToForm(self, session):
     form = SessionForm()
     for field in form.all_fields():
         if hasattr(session, field.name):
             if field.name == 'startTime':
                 setattr(form, 'startTime',
                         str(getattr(session, 'startTime')))
             else:
                 setattr(form, field.name, getattr(session, field.name))
     # set urlsafe id
     setattr(form, "urlsafe_id", session.key.urlsafe())
     form.check_initialized()
     return form
Exemplo n.º 18
0
 def _copySessionToForm(self, session):
     """Copy relevant fields from Session to SessionForm."""
     sf = SessionForm()
     for field in sf.all_fields():
         if hasattr(session, field.name):
             #conver Date and DateTime to string and copy others
             if field.name.endswith(('Time', 'date')):
                 setattr(sf, field.name, str(getattr(session, field.name)))
             else:
                 setattr(sf, field.name, getattr(session, field.name))
         elif field.name == "websafeKey":
             setattr(sf, field.name, session.key.urlsafe())
     return sf
Exemplo n.º 19
0
 def _copySessionToForm(self, sess):
     """Copy relevant fields from Session to SessionForm"""
     sf = SessionForm()
     for field in sf.all_fields():
         if hasattr(sess, field.name):
             # convert date/time/duration to string; just copy others
             if field.name in ('date', 'startTime', 'duration'):
                 setattr(sf, field.name, str(getattr(sess, field.name)))
             else:
                 setattr(sf, field.name, getattr(sess, field.name))
         elif field.name == "websafeKey":
             setattr(sf, field.name, sess.key.urlsafe())
     sf.check_initialized()
     return sf
 def _copySessionToForm(self, session):
     """Copy relevant fields from Session to SessionForm."""
     ss = SessionForm()
     for field in ss.all_fields():
         if hasattr(session, field.name):
             # convert Date to date string; just copy others
             if field.name.endswith('date') or field.name.endswith('startTime'):
                 setattr(ss, field.name, str(getattr(session, field.name)))
             else:
                 setattr(ss, field.name, getattr(session, field.name))
         elif field.name == "sessionSafeKey":
             setattr(ss, field.name, session.key.urlsafe())
     ss.check_initialized()
     return ss
Exemplo n.º 21
0
 def _copySessionToForm(self, session):
     """copy model Session to SessionForm"""
     s = SessionForm()
     for field in s.all_fields():
         if hasattr(session, field.name):
             # convert DATE and Time property  to string
             if field.name in ['date', 'startTime']:
                 setattr(s, field.name, str(getattr(session, field.name)))
             else:
                 setattr(s, field.name, getattr(session, field.name))
         elif field.name == "websafeSessionKey":
             setattr(s, field.name, session.key.urlsafe())
     s.check_initialized()
     return s
Exemplo n.º 22
0
 def _copySessionToForm(self, request):
     sf = SessionForm()
     data = {field.name: getattr(request, field.name) for field in sf.all_fields()}
     for field in sf.all_fields():
         if hasattr(request, field.name):
             if field.name == 'date':
                 setattr(sf, field.name, str(getattr(request, field.name)))
             elif field.name == 'startTime':
                     if data['startTime']:
                         setattr(sf, field.name, int(getattr(request, field.name)))
             else:
                 setattr(sf, field.name, getattr(request, field.name))
     sf.check_initialized()
     return sf
Exemplo n.º 23
0
 def _copySessionToForm(self, session):
     """Copy relevant fields from Session to SessionForm."""
     sf = SessionForm()
     for field in sf.all_fields():
         if hasattr(session, field.name):
             # convert Date and Time to date string; just copy others
             if field.name in ['startTime', 'date']:
                 setattr(sf, field.name, str(getattr(session, field.name)))
             else:
                 setattr(sf, field.name, getattr(session, field.name))
         elif field.name == "websafeKey":
             setattr(sf, field.name, session.key.urlsafe())
     sf.check_initialized()
     return sf
    def _getWishlist(self):
        """Get all wishlisted sessions for a user."""
        # get user Profile
        prof = self._getProfileFromUser()

        s_keys = [ndb.Key(urlsafe=wssk) for wssk in prof.wishlist]
        sessions = ndb.get_multi(s_keys)

        if not sessions:
            return SessionForm()
        else:
            # return SessionForms from user wishlist
            return SessionForms(sessions=[
                self._copySessionToForm(session) for session in sessions
            ])
Exemplo n.º 25
0
 def _copySessionToForm(self, session):
     """Copy relevant fields from Session to SessionForm."""
     sf = SessionForm()
     logging.debug(type(session))
     for field in sf.all_fields():
         if hasattr(session, field.name):
             # convert Date to date string; just copy others
             if field.name.endswith('Date'):
                 setattr(sf, field.name, str(getattr(session, field.name)))
             else:
                 setattr(sf, field.name, getattr(session, field.name))
         elif field.name == "websafeSessionKey":
             setattr(sf, field.name, session.key.urlsafe())
     sf.check_initialized()
     return sf
Exemplo n.º 26
0
 def _copySessionToForm(self, sess):
     """Copy relevant fields from Session to SessionForm."""
     sf = SessionForm()
     # set fields of form with attributes
     for field in sf.all_fields():
         if hasattr(sess, field.name):
             # convert Date to date string; just copy others
             if (field.name.endswith('date')) or (field.name.endswith('Time')):
                 setattr(sf, field.name, str(getattr(sess, field.name)))
             else:
                 setattr(sf, field.name, getattr(sess, field.name))
         elif field.name == "websafeKey":
                 setattr(sf, field.name, sess.key.urlsafe())
     sf.check_initialized()
     return sf
 def _copySessionToForm(self, session):
     """Copy relevant fields from Conference to ConferenceForm."""
     # copy relevant fields from Sesson to SessionForm
     sf = SessionForm()
     for field in sf.all_fields():
         if hasattr(session, field.name):
             # convert typeOfSession; just copy others
             if field.name == "typeOfSession":
                 setattr(
                     sf, field.name,
                     getattr(TypeOfSession, getattr(session, field.name)))
             else:
                 setattr(sf, field.name, getattr(session, field.name))
     sf.check_initialized()
     return sf
Exemplo n.º 28
0
 def _copySessionToForm(self, mysession):
     """Copy relevant fields from Session to SessionForm."""
     cf = SessionForm()
     for field in cf.all_fields():
         if hasattr(mysession, field.name):
             # convert Date to date string; just copy others
             if field.name.endswith('Date'):
                 setattr(cf, field.name, str(getattr(mysession,
                                                     field.name)))
             else:
                 setattr(cf, field.name, getattr(mysession, field.name))
         elif field.name == "websafeKey":
             setattr(cf, field.name, mysession.key.urlsafe())
     cf.check_initialized()
     return cf
Exemplo n.º 29
0
    def _copySessionToForm(self, sess):
        """Copy relevant fields from Session to SessionForm."""
        sf = SessionForm()
        for field in sf.all_fields():
            if hasattr(sess, field.name):
                # convert Date to date string; just copy others
                if field.name.endswith('date') or field.name.endswith('Time'):
                    setattr(sf, field.name, str(getattr(sess, field.name)))
                else:
                    setattr(sf, field.name, getattr(sess, field.name))

        # set the websafeKey to the Session Form so it can be returned with a websafeKey that the user can use
        setattr(sf, 'websafeKey', sess.key.urlsafe())
        sf.check_initialized()
        return sf
 def _copySessionToForm(self, sess):
     """Copy relevant fields from Conference to ConferenceForm."""
     sf = SessionForm()
     for field in sf.all_fields():
         if hasattr(sess, field.name):
             # convert Date to date string; just copy others
             if field.name.endswith('data'):
                 setattr(sf, field.name, str(getattr(sess, field.name)))
             if field.name.endswith('time'):
                 setattr(sf, field.name, str(getattr(sess, field.name)))
             else:
                 setattr(sf, field.name, getattr(sess, field.name))
     setattr(sf, 'sess_key', sess.key.urlsafe())
     sf.check_initialized()
     return sf