📄 stdpage.py
字号:
import urllib
from dtuple import TupleDescriptor, DatabaseTuple
StdPageBody = open("text/StdPageBody.txt").read()
DefaultBody = open("text/DefaultBody.txt").read()
#
# Left-Hand Navigation Bar
#
def LHNav(ThisPage, CR):
dt = TupleDescriptor([["Name"], ["LinkText"], ["Template"]])
CR.execute("""SELECT Name, LinkText, Template FROM StdPage
WHERE PageSet='Std' ORDER BY Num""")
SP = CR.fetchall()
LHNavBar = []
for sp in SP:
sp = DatabaseTuple(dt, sp)
if sp.Template == "None":
tname = "StdPage"
else:
tname = sp.Template
if sp.Name != ThisPage:
mgtext = """<img src="/HWimages/cblob.gif" border=0 alt="" width=10 height=8>
<a href="/xitami1/?page=%s&Name=%s">%s</a>""" % (tname, urllib.quote(sp.Name), sp.LinkText)
else:
mgtext = """<img src="/HWimages/rblob.gif" width=10 height=8 border=0 alt="">""" + str(sp.LinkText)
LHNavBar.append("<nobr>%s</nobr><br><br>" % (mgtext,))
LHNavBar = "".join(LHNavBar)
return LHNavBar
#
# Default site page
#
def default(form, req, CR):
CR.execute("""SELECT Name, LinkText, Template FROM StdPage
WHERE PageSet='Std' ORDER BY Num""")
SP = CR.fetchall()
ct = 0
FtrNavBar = []
for sp in SP:
template = sp[2]
if template == "None": template = "StdPage"
FtrNavBar.append("""<nobr>
<img src="/HWimages/cblob.gif"><a href="/xitami1/?page=%s&Name=%s">%s</a></nobr> """ % \
(template, urllib.quote(sp[0]), sp[1]))
ct = ct + 1
if ct == 8:
ct = 0
FtrNavBar.append("<BR>")
return DefaultBody % ("".join(FtrNavBar), )
#
# Page Body Builder (XXX UNSOPHISTICATED)
#
def PageBody(LinkText, LHNav, Content, EditLink=None):
if EditLink:
Link = """<font size="-3"><center><A HREF="?page=%s">EDIT
THIS PAGE</a></center></font>""" % (EditLink, )
else:
Link = ""
return StdPageBody % (LinkText, LHNav, Content, Link)
#
# Standard Page
#
def StdPage(form, req, CR):
try:
StdPageName = form["Name"].value
except KeyError:
return "<h2>Name not given for standard page display</h2>"
# XXX lines below should be replaced with DatabaseTuple
FldList = (['Name'], ['LinkText'], ['PageSet'], ['Num'], ['Content'])
dt = TupleDescriptor(FldList)
CR.execute("""SELECT Name, LinkText, PageSet, Num, Content
FROM StdPage WHERE Name=? AND PageSet='Std'""",
(StdPageName, ))
TP = CR.fetchone()
if TP == None: # Use a page which should always exist
CR.execute("""SELECT Name, LinkText, PageSet, Num, Content
FROM StdPage WHERE Name='ERROR'""")
CR.fetchone()
rec = DatabaseTuple(dt, TP)
LHNavBar = LHNav(StdPageName, CR)
return PageBody(rec.LinkText, LHNavBar, rec.Content, "FormStdPage&Key="+StdPageName)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -