metaweb.py
上传用户:ghyvgy
上传日期:2009-05-26
资源大小:547k
文件大小:1k
源码类别:

其他游戏

开发平台:

Python

  1. from twisted.web import wmvc, microdom
  2. from twisted.python import domhelpers
  3. class MBuggyWorld(wmvc.WModel):
  4.     def __init__(self, world, *args, **kw):
  5.         wmvc.WModel.__init__(self, world, *args, **kw)
  6.         self.world = world
  7. class CBuggyWorld(wmvc.WController):
  8.     pass
  9. class VBuggyWorld(wmvc.WView):
  10.     templateFile = "metaweb.html"
  11.     def factory_bugDisplay(self, request, node):
  12.         rowNode = domhelpers.locateNodes([node], "rowOf", "bugDisplay")[0]
  13.         node.removeChild(rowNode)
  14.         bugList = self.model.world.perspectives.values()
  15.         bugList.sort(lambda a, b: a.angst < b.angst)
  16.         rank = 0
  17.         for bug in bugList:
  18.             rank += 1
  19.             rnode = rowNode.cloneNode(1)
  20.             node.appendChild(rnode)
  21.             colNodes = domhelpers.locateNodes([rnode],"columnOf","bugDisplay")
  22.             bugDict = {"name": bug.perspectiveName,
  23.                        "angst": bug.angst,
  24.                        "rank": rank}
  25.             for cn in colNodes:
  26.                 cn.appendChild(microdom.Text(str(bugDict[cn.getAttribute("columnName")])))
  27.         return node
  28. wmvc.registerViewForModel(VBuggyWorld, MBuggyWorld)
  29. wmvc.registerControllerForModel(CBuggyWorld, MBuggyWorld)