Can anyone help?!?
I can't seem to get web.session.Session(...) to operate properly when
using it for a practical user story. I've tried the example verbatim
and it works (yeah for the cookbook!):
{code}
import web
web.config.debug = False
urls = (
"/count", "count",
"/reset", "reset"
)
app = web.application(urls, locals())
session = web.session.Session(app, web.session.DiskStore('sessions'),
initializer={'count': 0})
class count:
def GET(self):
session.count += 1
return str(session.count)
class reset:
def GET(self):
session.kill()
return ""
if __name__ == "__main__":
app.run()
{code}
NOW, the moment I try to actually use session for anything
*substantia*, I get an error when I try to access the session. Notice
the body of storeInSession() and the
{code}
import web
from web import form
from run import render, usersession
from com.fiveamsolutions.lchange.Config import Config
...
class Base:
cfg = Config(None)
...
class login(Base):
def renderLogin(self, form):
return render.login('', self.cfg.getversion(), None, form)
def GET(self):
form = loginform()
return self.renderLogin(form)
def POST(self):
form = loginform()
if not form.validates():
return self.renderLogin(form)
else:
print "Grrreat success! username: %s, password: %s,
usertree: %s" % (form.d.username, form['password'].value,
form.d.usertree)
d = DataService()
validuser = d.login_bind(form.d.username, form.d.password,
form.d.usertree)
if not validuser:
print "LOGIN FAILED -- return to login page with error
message"
form.note = "Invalid username and/or password, please
try again."
return self.renderLogin(form)
print "LOGIN SUCCESSFULL"
self.storeInSession(form.d.username, form.d.usertree)
def storeInSession(self, username, usertree):
usersession.loggedin = True
usersession.username = username
usersession.usertree = usertree
...
class logout(Base):
def GET(self):
print "killing session for %s" % (usersession.username)
usersession.kill()
return render.logout('', self.cfg.getversion(), None)
def POST(self):
self.GET()
{code}
Below is the corresponding output:
{run}
http://0.0.0.0:1234/
Grrreat success! username: smatyas, password: asdf, usertree: People
LOGIN SUCCESSFULL
127.0.0.1:57966 - - [01/Aug/2009 06:46:03] "HTTP/1.1 POST /login" -
200 OK
Traceback (most recent call last):
File "/Users/smatyas/PYTHONENV/WEBPY_31/lib/python2.5/site-packages/
web/application.py", line 242, in process
return self.handle()
File "/Users/smatyas/PYTHONENV/WEBPY_31/lib/python2.5/site-packages/
web/application.py", line 233, in handle
return self._delegate(fn, self.fvars, args)
File "/Users/smatyas/PYTHONENV/WEBPY_31/lib/python2.5/site-packages/
web/application.py", line 412, in _delegate
return handle_class(cls)
File "/Users/smatyas/PYTHONENV/WEBPY_31/lib/python2.5/site-packages/
web/application.py", line 387, in handle_class
return tocall(*args)
File "/Users/smatyas/dev/projects/ocio/CentralAuth/ChangePass/src/
public.py", line 182, in GET
print "killing session for %s" % (usersession.username)
File "/Users/smatyas/PYTHONENV/WEBPY_31/lib/python2.5/site-packages/
web/utils.py", line 923, in __getattr__
return getattr(self._getd(), key)
File "/Users/smatyas/PYTHONENV/WEBPY_31/lib/python2.5/site-packages/
web/utils.py", line 68, in __getattr__
raise AttributeError, k
AttributeError: 'username'
127.0.0.1:57969 - - [01/Aug/2009 06:46:16] "HTTP/1.1 GET /logout" -
500 Internal Server Error
{run}
I'm both deeply sadden by this as a developer that is both new to
webpy and python (like 24 hours total programmer + reading), if
that.. I can't believe this framework just doesn't work. I really
need to crank out this dinky web app with LDAP backend yet, I can't
seem to get webpy to work. Any suggestions? Should I drop webpy all
together and try something else? I've heard of Beaker (http://
beaker.groovie.org/) but am unsure how exactly to integrate this with
webpy, etc...
Can anyone help?!?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"web.py" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [email protected]
For more options, visit this group at http://groups.google.com/group/webpy?hl=en
-~----------~----~----~----~------~----~------~--~---