📄 deptpages.py
字号:
#
# $Workfile: DeptPages.py $ $Revision: 3 $
# $Date: 10/04/01 5:07p $ $Author: Sholden $
#
import Dept
from cachequery import CacheQuery
from dbsource import dbsource
conn = dbsource().conn
cursor = conn.cursor()
qPlnk = CacheQuery("PageText",
("PtxLinkText", "PtxSetNum", "PtxLink"),
("PgpSetName", ),
conn, refresh=30)
qPttl = CacheQuery("PageText",
("PtxTitle", "PtxContent"),
("PgpSetName", "PtxSetNum"),
conn, ORDER=("PtxSetNum", ), refresh=30)
class Home(Dept.Page):
def Body(self):
if self.op.upper() == "GET":
text = self.DeptHeader() + self.dpt.DptWelcome
else:
text = "Sorry. The operation you requested is invalid."
return text
class Links(Dept.Page):
def Links(self):
result = ["""<BR><P><FONT SIZE="-1">"""]
for row in self.lnk:
result.append("""<A HREF="http://%s">%s</A><HR>""" % row.asTuple())
result.append("""</FONT></P>""")
return "\n".join(result)
def Body(self):
if self.op.upper() == "GET":
text = "%s<B>%s</B></P>%s" % (self.DeptHeader(), "Additional Links", self.Links())
else:
text = "Sorry. The operation you requested is invalid."
return text
class News(Dept.Page):
def News(self):
result = ["""<BR><P>"""]
for row in self.Nws:
result.append("""<A HREF="/DeptNewsItem/%s/%s">%s</A><BR><BR>""" % row)
result.append("""<FONT></P>""")
return "\n".join(result)
def Body(self):
if self.op.upper() == "GET":
text = self.DeptHeader()+"<B>%s</B><BR>%s" % ("News", self.News())
else:
text = "Sorry. The operation you requested is invalid."
return text
class NewsItem(Dept.Page):
def Body(self):
stmt = "SELECT NwsHead, NwsCopy from newsitem WHERE NwsNum=?"
cursor.execute(stmt, (self.path[0], ))
rows = cursor.fetchall()
assert len(rows) == 1
NwsHead, NwsCopy = rows[0]
return self.DeptHeader()+"<B><I>%s</I></B><br>%s" % (NwsHead, NwsCopy)
class Qod(Dept.Page):
def Body(self):
result = [self.DeptHeader(),
"""<B><I>Question of the Day</I></B><BR><BR>%s<BR><BR>%s<BR><BR>""" %
self.qod[1:3]]
result.append("""<A HREF="/DeptQodAns/%s">Click for the answer</A>""" % self.dpt.DptCode)
return "\n".join(result)
class QodAns(Dept.Page):
def Body(self):
return """%s<B><I>Answer of the Day</I></B><BR><BR>%s<BR><BR>""" % \
(self.DeptHeader(), self.qod[3])
class PgPage(Dept.Page):
def Body(self):
if len(self.path) >= 2:
self.PgpSetName = self.path[0]
self.PtxSetNum = self.path[1]
self.path = self.path[2:] # XXX Need _shftpth() method?
linkdata = qPlnk((self.PgpSetName, ))
self.pttl = qPttl((self.PgpSetName, self.PtxSetNum))[0]
# XXX should check that the page group+number actually exists
result = [self.DeptHeader(), '<font size="-2"><center>']
links = []
for PtxLinkText, PtxSetNum, PtxLink in linkdata:
if not PtxLink:
PtxLink = "DeptPgPage"
if PtxSetNum != self.PtxSetNum:
links.append('<A HREF="/%s/%s/%s/%s">%s</A>' % (PtxLink, self.DptCode, self.PgpSetName, PtxSetNum, PtxLinkText))
else:
links.append(PtxLinkText)
result.append(" | ".join(links)) # XXX need sensible multiline behavior here
result.append('</center></font>')
result.append("<BR><HR>%s" % (self.pttl.PtxContent))
return "\n".join(result)
else:
return "<P><B>Need a page group and group number</B></P>"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -