try:
from mod_python.util import FieldStorage, Field
import fred
except ImportError, err:
print "import error", err
pass
import zct
import gc
from tls import local
globals()['l'] = local()
def get_zct():
if hasattr(l, 'z'):
return l.z
z = zct.ZCTclass()
globals()['l'].z = z
return z
class repeated:
""" this is a wrapper class that will add appropriate global functions
to this module
"""
def __init__(self, name, content_type='text/html', template=1):
self.name = name
self.content_type = content_type
self.template = template
if hasattr(zct.ZCTclass, name):
globals()[name] = self.dynamic_content_fn
else:
globals()[name] = self.static_content_fn
def static_content_fn(self, req):
flds = req.form
REQUEST = {}
REQUEST.update(flds)
z = get_zct()
z.set_options(req)
page = z.linkprocess(REQUEST, self.name)
if page != self.name:
z.set_browser_info(z.info)
return req.status
if self.template:
content = z.tmpl(page, REQUEST)
else:
content = z.straightload(page)
z.set_browser_info(z.info)
req.content_type = self.content_type
req.write(str(content))
def dynamic_content_fn(self, req):
#flds = FieldStorage(req, keep_blank_values=1)
flds = req.form
REQUEST = {}
REQUEST.update(flds)
z = get_zct()
z.set_options(req)
req.content_type = self.content_type # default - can be changed by page!
page = z.linkprocess(REQUEST, self.name)
if page != self.name:
z.set_browser_info(z.info)
#return req.status
content = getattr(z, page)(REQUEST)
#f = open("/tmp/info.txt", "w")
#f.write(repr(z.info))
#f.write(str(content))
#f.close()
z.set_browser_info(z.info)
req.write(str(content))
# static and dynamic html
for fname in ( 'index', 'menu', 'context', 'home', 'advertising', 'menuads',
'mainads', 'profilecomms', 'profile', 'register',
'registerpage', 'login', 'logout',
'footer', 'legal', 'about', 'userhome',
'homewelcome', 'introsearch',
'messages', 'inbox', 'sendmessage', 'showmessage', 'messagesunexpand',
'forums', 'forumsunexpand', 'forumslist', 'forumedit',
'forum', 'forummessages', 'forumpost',
'outbox',
'logincontext',
'fromuserstatus',
'search', 'usersearch', 'tagsearch',
'usersearchpage', 'quicksearchpage', 'mainsearchpage', 'tagsearchpage',
'usersearchresults',
'mainsearchresults', 'searchresults',
'searchresultspage', 'tagsearchresultspage',
'searcherror',
'imagetestpage',
'imagetest',
'uploadimage', 'getimage', 'profileimages',
'publicprofile',
'testpage',
'registersuccess',
'registerwelcome',
'tagadminlist', 'tagadmin', 'tagadminvalues',
'tags', 'showtags',
'veggies', 'besafe', 'besafe_search_engines',
'termsnconditions', 'copyright',
'definitions', 'mission', 'vision',
'forgotten',
'loginsuccess',
'faq', 'tour',
'resizeevent',
'registersafety'):
repeated(fname)
# css stylesheets
for fname in ( 'style', ):
repeated(fname, 'text/css')
# jaaavascrippt
for fname in ( 'ajax_js' , 'wz_dragdrop_js', 'frame_popup_js',
'resize_js', 'google_js'):
repeated(fname, 'text/plain', 0)
# iiimages
for fname in ( 'transparentpixel_gif' , 'close_button_gif' ):
repeated(fname, 'image/gif', 0)