Esempio n. 1
0
 def record_request(self, visit):
     if identity.current.user:
         # if we are logged in, watch for the "remember" param, and set the
         # cookie if so.
         if cherrypy.request.params.pop("remember", None):
             vi = VisitIdentity.by_visit_key(visit.key)
             vi.expiry = remember(visit)
     else:
         # if we're not logged in, see if the cookie is there, and log in
         try:
             saved_key = cherrypy.request.simple_cookie[cookie_name].value
             vi = VisitIdentity.by_visit_key(saved_key)
             u = UserAcct.get(vi.user_id)
             identity.current_provider.validate_identity(u.user_name,
                 u.password, visit.key)
             # must commit or db will forget we logged in, when we 
             # redirect (rollback) below
             hub.commit()
             # reload, since now we're logged in
             turbogears.redirect(cherrypy.request.path)
         except (KeyError, SQLObjectNotFound):
             pass
Esempio n. 2
0
def cleanup_db():
    from model import VisitIdentity
    from turbogears.visit.sovisit import TG_Visit

    now = datetime.datetime.now()
    old_visits = TG_Visit.select(TG_Visit.q.expiry < now)
    for old_visit in old_visits:
        try:
            visit_identity = VisitIdentity.by_visit_key(old_visit.visit_key)
            if visit_identity.expiry == None or visit_identity.expiry < now:
                visit_identity.destroySelf()
        except SQLObjectNotFound:
            pass
        old_visit.destroySelf()