Jim Steil
jim at qlf.com
Thu Jan 5 01:06:30 EST 2006
Ok, now I get it, and have it working. I'm pretty sure my problem was that I was trying to seed the session with some values in my authentication handler and then grab the values when it got to my secUserList handler. I took the stuff out of my authentication handler and now it works fine. But, I'm interested in pursuing something you wrote in your earlier post saying that I could pass the session object in the req object. I may give that a try tomorrow. Otherwise, I'll assuming I could set my values in a cookie and read them later. Thanks for the help, and especially for sticking with me until I understood what was going on. Things are much clearer now for me. -Jim Jim Steil IT Manager Quality Liquid Feeds (608) 935-2345 Jim Gallacher wrote: > Jim Steil wrote: >> Jim: >> >> Thanks for the info. However, I'm still having trouble. I don't >> know if this is the problem, but this code does NOT exist in a >> handler that I wrote. I didn't write a handler, I'm just using the >> publisher handler. I have written an authentication handler and that >> is working correctly but I don't know what I need to do to make my >> own handler and have it work like the publisher handler. Again, I'm >> probably trying too hard and not seeing the obvious. I have been >> looking all over the web and can't seem to find a good custom handler >> example. >> >> Thanks again, I'll keep plugging away to try to understand what's >> going on. >> >> -Jim > > > I tend to use the term "handler" to refer to anything that handles a > request, which is just plain wrong. ;) If you want to use the > publisher handler just drop a script in the appropriate directory and > either call it (which will used the index method by default) or one of > it's other methods. > > Plop the following in your motion folder and try calling it with > http://example.com/motion/mptest or > http://example.com/motion/mptest/secUserList. (Note that the > indentation may have been messed up when I did the copy and paste from > your original code). Also note that I forgot the req parameter in my > previous Session example. :( > > You can modify your secUserList.html to make use of the count > paramater passed to your psp template and see the effect of the session. > > Jim > > mptest.py > --------- > > # uses the mod_python.publisher handler > > import time > import mx.ODBC > import mx.ODBC.Windows > > from mod_python import Session > > > # url is http://example.com/motion/mptest > def index(req): > sess = Session.Session(req) > if sess.is_new(): > sess['count'] = 0 > sess['count'] += 1 > req.content_type = 'text/plain' > req.write('This is the index page\nVisits: %d\n' % sess['count']) > sess.save() > > > # url is http://example.com/motion/mptest/secUserList > def secUserList(req, page='', sortSeq=''): > sess = Session.Session(req) > if sess.is_new(): > sess['count'] = 0 > sess['count'] += 1 > sess.save() > > if page: > startPage = int(page) > else: > startPage = 1 > pageLength = 20 > sql = 'call secUser_list(\'' + sortSeq + '\', ' + repr(startPage) > + ', ' + repr(pageLength) + ')' > db = > mx.ODBC.Windows.DriverConnect('DSN=motion;UID=userid;PWD=password') > c = db.cursor() > c.execute(sql) > htmlText = '' > for secUserId, firstName, lastName, logonName, email in c.fetchall(): > htmlText = htmlText + '<tr > onmouseover="style.backgroundColor=\'#FFF0AF\'; > style.cursor=\'hand\';" > onclick="location.href=\'secUserProfile?secUserId=' + "%i" % secUserId > + '\'" onmouseout="style.backgroundColor=\'#ffffff\';"><td>' + > firstName + '</td><td>' + lastName + '</td><td>' + logonName + > '</td><td>' + email + '</td></tr>\n' > previousPage = 1 > if startPage > 1: > previousPage = startPage - 1 > nextPage = startPage + 1 > c.close() > db.close() > parmDict = {'count':sess['count'], 'title':'User List', > 'rowHtml':htmlText, 'previousPage':previousPage, 'nextPage':nextPage, > 'startPage':startPage} > template = psp.PSP(req, filename='secUserList.html') > template.run(vars = parmDict) > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mm_cfg_has_not_been_edited_to_set_host_domains/pipermail/mod_python/attachments/20060105/e4509ad6/attachment.html
|