When the script begins with main(f), it gets a KeyError and goes to
the login page, but when the form data is submitted it returns a 404.
Am I not setting/getting the cookie properly? Absolutely nothing is
printed until zptIO is called.
import os
import Cookie
from spanishlabs.conf import *
from spanishlabs.zpt import *
from spanishlabs.sql import *
def main(f):
try:
c = os.environ["HTTP_COOKIE"]
except KeyError:
login(f, fail=False)
else:
fetchCookie(f)
def login(f, fail):
if f:
authenticate(f)
zpt = 'login.zpt'
context = {'here':Render(fail)}
zptIO(zpt, context)
def authenticate(f):
if f.has_key('author') and f.has_key('password'):
author = f.['author'].value
password = f.['password'].value
q = Users.select(AND(Users.q.author==author,
Users.q.password==password))
if len(list(q))>0:
setCookie(f, author)
else:
login(f, fail=True)
def chapters(f, author):
if f.has_key('event') and f.has_key('chapter'):
event = f['event'].value
chapter = f['chapter'].value
q = Chapters.select(Chapters.q.chapter==chapter)
if event == 'create' and len(list(q))>0:
exists = True
else:
create = chapter
if event == 'edit' and len(list(q))>0:
edit = chapter
zpt = 'chapters.zpt'
context = {'here':Render(exists=None, create=None, edit=None)}
zptIO(zpt, context)
def setCookie(f, author):
c1 = Cookie.SimpleCookie()
c1['author'] = author
c1['author']['max-age'] = 7200
c1['author']['expires'] = 7200
c1['author']['version'] = 1
print c1
chapters(f, author)
def fetchCookie(f):
c2 = Cookie.SimpleCookie()
c2.load(os.environ["HTTP_COOKIE"])
author = c2['author'].value
chapters(f, author)
def zptIO(zpt, context):
pt = PageTemplate()
template = open(os.path.join(templates, zpt))
pt.write(template.read())
template.close()
print 'Content-type: text/html\n\n'
print pt(context=context)
A previous message I sent to the list about **kwds mostly makes sense
to me now. The missing dot was a typo.
_______________________________________________
Tutor maillist - [email protected]
http://mail.python.org/mailman/listinfo/tutor