Ignore:
Timestamp:
Dec 20, 2009, 9:44:49 PM (14 years ago)
Author:
broder
Message:

Upgrade info page to Mako, and use REST-style URLs.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • package_branches/invirt-web/cherrypy-rebased/code/main.py

    r2677 r2678  
    150150        return {'request': cherrypy.request, 'kwargs': kwargs}
    151151    helloworld._cp_config['tools.require_login.on'] = False
     152
     153    class MachineView(View):
     154        # This is hairy. Fix when CherryPy 3.2 is out. (rename to
     155        # _cp_dispatch, and parse the argument as a list instead of
     156        # string
     157
     158        def __getattr__(self, name):
     159            try:
     160                machine_id = int(name)
     161                cherrypy.request.params['machine_id'] = machine_id
     162                return self
     163            except ValueError:
     164                return None
     165
     166        @cherrypy.expose
     167        @cherrypy.tools.mako(filename="/info.mako")
     168        def info(self, machine_id):
     169            """Handler for info on a single VM."""
     170            machine = validation.Validate(cherrypy.request.login, cherrypy.request.state, machine_id=machine_id).machine
     171            d = infoDict(cherrypy.request.login, cherrypy.request.state, machine)
     172            checkpoint.checkpoint('Got infodict')
     173            return d
     174        index = info
     175
     176    machine = MachineView()
    152177
    153178def pathSplit(path):
     
    606631    return d
    607632
    608 def info(username, state, path, fields):
    609     """Handler for info on a single VM."""
    610     machine = validation.Validate(username, state, machine_id=fields.getfirst('machine_id')).machine
    611     d = infoDict(username, state, machine)
    612     checkpoint.checkpoint('Got infodict')
    613     return templates.info(searchList=[d])
    614 
    615633def unauthFront(_, _2, _3, fields):
    616634    """Information for unauth'd users."""
     
    637655               command=command,
    638656               modify=modify,
    639                info=info,
    640657               create=create,
    641658               unauth=unauthFront,
Note: See TracChangeset for help on using the changeset viewer.