52 lines
1.6 KiB
Python
52 lines
1.6 KiB
Python
#!/usr/bin/python3
|
|
|
|
from bottle import run, route, request, template,get ,post
|
|
import libvirt
|
|
session = libvirt.open('qemu:///system')
|
|
|
|
def listVDS():
|
|
VdsListVar = list()
|
|
for i in session.listDefinedDomains():
|
|
VdsListVar.append(i)
|
|
return VdsListVar
|
|
|
|
@route('/')
|
|
def index():
|
|
# return 'Привет, мир!'
|
|
return str(listVDS())
|
|
|
|
|
|
@get('/action') # or @route('/login')
|
|
def login():
|
|
return '''
|
|
<form action="/action" method="post">
|
|
VDS Name: <input name="username" type="text" /> <br>
|
|
Action (start/stop): <br>
|
|
<input type="radio" name="act" value="start"> Start<Br>
|
|
<input type="radio" name="act" value="stop"> Stop<Br>
|
|
<input type="radio" name="act" value="destroy"> destroy<Br>
|
|
<input value="Name" type="submit" />
|
|
</form>
|
|
'''
|
|
|
|
|
|
@post('/action') # or @route('/login', method='POST')
|
|
def do_action():
|
|
act = request.forms.get('act')
|
|
dom = session.lookupByName(request.forms.get('username'))
|
|
|
|
|
|
if (act == "start"):
|
|
dom.create()
|
|
return "<p>Started "+request.forms.get('username')+" succesfully!</p><a href='/action'>back</a>"
|
|
elif (act == "stop"):
|
|
dom.shutdown()
|
|
return "<p>Stopped "+request.forms.get('username')+"</p> <a href='/action'>back</a>"
|
|
elif (act == "destroy"):
|
|
dom.destroy()
|
|
return "<p>Destroyed "+request.forms.get('username')+"</p> <a href='/action'>back</a>"
|
|
else:
|
|
return "Error"
|
|
|
|
if __name__ == '__main__':
|
|
run(host='0.0.0.0', port=5000, debug=True) |