From 0aa4d89f6b6825785a4d95d312c86284cd5a32f8 Mon Sep 17 00:00:00 2001 From: Eric Price Date: Mon, 8 Oct 2007 02:17:26 -0400 Subject: [PATCH] Moo! svn path=/trunk/web/; revision=134 --- templates/command.tmpl | 17 +++++++++++++++++ templates/create.tmpl | 1 + templates/main.py | 36 ++++++++++++++++++++++-------------- 3 files changed, 40 insertions(+), 14 deletions(-) create mode 100644 templates/command.tmpl diff --git a/templates/command.tmpl b/templates/command.tmpl new file mode 100644 index 0000000..d7a6890 --- /dev/null +++ b/templates/command.tmpl @@ -0,0 +1,17 @@ +#from skeleton import skeleton +#extends skeleton + +#def title +$command $machine.name +#end def + + +#def body +

Command succesful

+

$command ${machine.name} was successful.

+#if $command == "Delete VM" +

Return

+#else +

Return

+#end if +#end def diff --git a/templates/create.tmpl b/templates/create.tmpl index af38122..768f0ed 100644 --- a/templates/create.tmpl +++ b/templates/create.tmpl @@ -12,4 +12,5 @@ Created! #else

Odd... no error, but no machine.

#end if +

Return

#end def diff --git a/templates/main.py b/templates/main.py index e2a88b3..36518d6 100755 --- a/templates/main.py +++ b/templates/main.py @@ -212,36 +212,44 @@ def createVm(user, name, memory, disk, is_hvm, cdrom): return machine -def create(user, fields): - name = fields.getfirst('name') - if not validMachineName(name): - raise MyException("Invalid name '%s'" % name) - name = user.username + '_' + name.lower() - - if Machine.get_by(name=name): - raise MyException("A machine named '%s' already exists" % name) - - memory = fields.getfirst('memory') +def validMemory(user, memory, machine=None): try: memory = int(memory) if memory <= 0: raise ValueError except ValueError: raise MyException("Invalid memory amount") - if memory > maxMemory(user): + if memory > maxMemory(user, machine): raise MyException("Too much memory requested") - - disk = fields.getfirst('disk') + return memory + +def validDisk(user, disk, machine=None): try: disk = float(disk) - if disk > maxDisk(user): + if disk > maxDisk(user, machine): raise MyException("Too much disk requested") disk = int(disk * 1024) if disk <= 0: raise ValueError except ValueError: raise MyException("Invalid disk amount") + return disk + +def create(user, fields): + name = fields.getfirst('name') + if not validMachineName(name): + raise MyException("Invalid name '%s'" % name) + name = user.username + '_' + name.lower() + + if Machine.get_by(name=name): + raise MyException("A machine named '%s' already exists" % name) + + memory = fields.getfirst('memory') + memory = validMemory(user, memory) + disk = fields.getfirst('disk') + disk = validDisk(user, disk) + vm_type = fields.getfirst('vmtype') if vm_type not in ('hvm', 'paravm'): raise MyException("Invalid vm type '%s'" % vm_type) -- 1.7.9.5