metaweb.py

来自「大型多人在线游戏开发,该书光盘上附带的源码」· Python 代码 · 共 35 行

PY
35 行
字号
from twisted.web import wmvc, microdomfrom twisted.python import domhelpersclass MBuggyWorld(wmvc.WModel):    def __init__(self, world, *args, **kw):        wmvc.WModel.__init__(self, world, *args, **kw)        self.world = worldclass CBuggyWorld(wmvc.WController):    passclass VBuggyWorld(wmvc.WView):    templateFile = "metaweb.html"    def factory_bugDisplay(self, request, node):        rowNode = domhelpers.locateNodes([node], "rowOf", "bugDisplay")[0]        node.removeChild(rowNode)        bugList = self.model.world.perspectives.values()        bugList.sort(lambda a, b: a.angst < b.angst)        rank = 0        for bug in bugList:            rank += 1            rnode = rowNode.cloneNode(1)            node.appendChild(rnode)            colNodes = domhelpers.locateNodes([rnode],"columnOf","bugDisplay")            bugDict = {"name": bug.perspectiveName,                       "angst": bug.angst,                       "rank": rank}            for cn in colNodes:                cn.appendChild(microdom.Text(str(bugDict[cn.getAttribute("columnName")])))        return nodewmvc.registerViewForModel(VBuggyWorld, MBuggyWorld)wmvc.registerControllerForModel(CBuggyWorld, MBuggyWorld)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?