def GET(self, id): vm = VirtualMachines.first(id=id) if not vm: raise cherrypy.HTTPError(status=404) try: config = json.loads(vm.config) except (ValueError,TypeError): return None return config
def PUT(self, id): vm = VirtualMachines.first(id=id) if not vm: raise cherrypy.HTTPError(status=404) data = cherrypy.request.json for k in ['id', 'status']: if not data.has_key(k): raise cherrypy.HTTPError(status=400) if not id == data['id']: raise cherrypy.HTTPError(status=400) if not vm.update(data, ['status']): raise cherrypy.HTTPError(status=500) return {'status': 200, 'message': 'Status updated.'}
def PUT(self, id, **post): vm = VirtualMachines.first(id=id) if not vm: raise cherrypy.HTTPError(status=404) try: config = json.loads(vm.config) except (ValueError,TypeError): config = {} for k in cherrypy.request.json: value = cherrypy.request.json[k] if value is None: del config[k] continue config[k] = value data = {'config': json.dumps(config)} vm.update(data, ['config']) return {'status': 200, 'message': 'Configuration updated.'}
def GET(self, id): vm = VirtualMachines.first(id=id) if not vm: raise cherrypy.HTTPError(status=404) return vm.to_dict()
def _get_vm(self, id): vm = VirtualMachines.first(id=id) if not vm: cherrypy.session['flash'] = "Invalid virtual machine." raise cherrypy.HTTPRedirect('/virtual_machines') return vm