def login(req, username, password): user = dms.username.get_by_id(username) if user and user.username==username: if user.password == password: if not sessions.has_key(username): sessions.add(username, req.connection.remote_addr[0]) # establish random 20 character session_id. # chars = string.letters + string.digits session_id = '' for x in range(20): session_id += whrandom.choice(chars) user.session_id = session_id user.save() log(3, 'setting cookie') req.headers_out['Set-Cookie']='lampadas=' + session_id + '; path=/; expires=Wed, 09-Nov-2030 23:59:00 GMT' uri = URI('home' + referer_lang_ext(req)) uri.base = '../../' return page_factory.page(uri) else: return "Wrong password" else: return "User not found"
def logout(req, username): sessions.delete(username) user = dms.username.get_by_id(username) user.session_id = '' user.save() log(3, 'clearing cookie') req.headers_out['Set-Cookie']='lampadas=foo; path=/; expires=Wed, 09-Nov-1980 23:59:00 GMT' uri = URI('home' + referer_lang_ext(req)) uri.base = '../../' return page_factory.page(uri)
def handler(req): log(3, 'handling request: ' + req.uri) uri = URI(req.uri) filename = config.file_dir + uri.path + '/' + uri.filename filename = filename.replace('//', '/') filename = filename.replace('//', '/') filename = filename.replace('//', '/') log(3, 'looking for file ' + filename) if os.path.isfile(filename): send_File(req, filename) else: log(3, 'Sending dynamic page: ' + req.uri) session = sessions.get_session(req) send_HTML(req, page_factory.page(uri)) return apache.OK