Stub InvirtWeb implementation
[invirt/packages/invirt-web.git] / code / main.py
index 5de5f9a..1739318 100755 (executable)
@@ -13,7 +13,14 @@ import sys
 import time
 import urllib
 import socket
+import cherrypy
 from StringIO import StringIO
+from view import View
+
+class InvirtWeb(View):
+    @cherrypy.expose
+    def helloworld(self):
+        return "Hello world!"
 
 def revertStandardError():
     """Move stderr to stdout, and return the contents of the old stderr."""
@@ -151,7 +158,7 @@ def parseCreate(username, state, fields):
     kws = dict([(kw, fields.getfirst(kw)) for kw in 'name description owner memory disksize vmtype cdrom autoinstall'.split()])
     validate = validation.Validate(username, state, strict=True, **kws)
     return dict(contact=username, name=validate.name, description=validate.description, memory=validate.memory,
-                disksize=validate.disksize, owner=validate.owner, machine_type=validate.vmtype,
+                disksize=validate.disksize, owner=validate.owner, machine_type=getattr(validate, 'vmtype', Defaults.type),
                 cdrom=getattr(validate, 'cdrom', None),
                 autoinstall=getattr(validate, 'autoinstall', None))
 
@@ -615,9 +622,9 @@ def admin(username, state, path, fields):
         return ({'Status': '303 See Other',
                  'Location': 'admin/'},
                 "You shouldn't see this message.")
-    if not username in getAfsGroupMembers(config.web.adminacl, 'athena.mit.edu'):
+    if not username in getAfsGroupMembers(config.adminacl, 'athena.mit.edu'):
         raise InvalidInput('username', username,
-                           'Not in admin group %s.' % config.web.adminacl)
+                           'Not in admin group %s.' % config.adminacl)
     newstate = State(username, isadmin=True)
     newstate.environ = state.environ
     return handler(username, newstate, path, fields)