import atexit
atexit.register(printError)
-sys.path.append('/home/ecprice/.local/lib/python2.5/site-packages')
-
import templates
from Cheetah.Template import Template
import sipb_xen_database
return False
def parseCreate(username, state, fields):
- kws = dict([(kw, fields.getfirst(kw)) for kw in 'name description owner memory disksize vmtype cdrom clone_from'.split()])
+ 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,
cdrom=getattr(validate, 'cdrom', None),
- clone_from=getattr(validate, 'clone_from', None))
+ autoinstall=getattr(validate, 'autoinstall', None))
def create(username, state, fields):
"""Handler for create requests."""
d = dict(op=op, user=username, fields=fields,
errorMessage=str(err), stderr=emsg, traceback=traceback)
details = templates.error_raw(searchList=[d])
- send_error_mail('xvm error on %s for %s: %s' % (op, username, err),
- details)
+ if username not in ('price', 'ecprice', 'andersk'): #add yourself at will
+ send_error_mail('xvm error on %s for %s: %s' % (op, username, err),
+ details)
d['details'] = details
return templates.error(searchList=[d])
def getUser(environ):
"""Return the current user based on the SSL environment variables"""
- email = environ.get('SSL_CLIENT_S_DN_Email', None)
- if email is None:
- return None
- if not email.endswith('@MIT.EDU'):
- return None
- return email[:-8]
+ return environ.get('REMOTE_USER', None)
class App:
def __init__(self, environ, start_response):