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 + -
显示快捷键?