Example #1
0
class ClockController(BaseController):
    def __init__(self):
        BaseController.__init__(self)
        self.ups = UserPropertySDB()
        
    def now(self):
        if get_identifier():
            return self._registered()
        else:
            return self._guest_now()

    def _registered(self):
        up = self.ups.find(session['identifier'])
        c.title = 'My Clock'

        if up:
            name = up.nickname
            time_diff = up.time_diff
        else:
            name = session['identifier']
            time_diff = 0
            
        c.heading = 'Welcome! %s' % name
        c.content = "Current time is %s" % str(datetime.datetime.now() + datetime.timedelta(0, 0, 0, 0, 0, time_diff))
            
        return render('/derived/clock/registered.html')

    def _guest_now(self):
        c.title = 'My Clock'
        c.heading = 'Welcome!'
        c.content = "Current time is %s" % str(datetime.datetime.now())
        return render('/derived/clock/guest.html')

    @require_login
    def customize(self):
        return render('/derived/clock/customize.html')

    @restrict('POST')
    @validate(schema = TimeDiffForm(), form = 'time_diff')
    @require_login
    def save(self):
        up = UserProperty(session['identifier'],
                          self.form_result['nickname'],
                          int(self.form_result['time_diff']))

        self.ups.save(up)
        redirect_to('now')
Example #2
0
 def __init__(self):
     BaseController.__init__(self)
     self.ups = UserPropertySDB()