aboutsummaryrefslogtreecommitdiffstats
path: root/tools/python/xen/sv/RestoreDomain.py
diff options
context:
space:
mode:
authortwilkie@paploo.uk.xensource.com <twilkie@paploo.uk.xensource.com>2005-07-26 13:56:30 +0000
committertwilkie@paploo.uk.xensource.com <twilkie@paploo.uk.xensource.com>2005-07-26 13:56:30 +0000
commit214520455157307d42fc24bbb9964771336cc8a2 (patch)
tree557a9c922430c0409d7781c15932ea9524741e8c /tools/python/xen/sv/RestoreDomain.py
parente39ba51523a912f4c63fe7a833cd360b4aa288fa (diff)
downloadxen-214520455157307d42fc24bbb9964771336cc8a2.tar.gz
xen-214520455157307d42fc24bbb9964771336cc8a2.tar.bz2
xen-214520455157307d42fc24bbb9964771336cc8a2.zip
Add XenSV back into the repository.
Now uses Python Server Pages, not twisted.
Diffstat (limited to 'tools/python/xen/sv/RestoreDomain.py')
-rwxr-xr-xtools/python/xen/sv/RestoreDomain.py46
1 files changed, 46 insertions, 0 deletions
diff --git a/tools/python/xen/sv/RestoreDomain.py b/tools/python/xen/sv/RestoreDomain.py
new file mode 100755
index 0000000000..be8b4f558a
--- /dev/null
+++ b/tools/python/xen/sv/RestoreDomain.py
@@ -0,0 +1,46 @@
+from xen.sv.Wizard import *
+from xen.sv.util import *
+from xen.sv.GenTabbed import PreTab
+
+from xen.xm.create import make_config, OptVals
+
+from xen.xend.XendClient import server
+
+class RestoreDomain( Wizard ):
+ def __init__( self, urlWriter ):
+
+ sheets = [ ChooseRestoreDomain,
+ DoRestore ]
+
+ Wizard.__init__( self, urlWriter, "Restore Domain", sheets )
+
+
+class ChooseRestoreDomain( Sheet ):
+ def __init__( self, urlWriter ):
+ Sheet.__init__( self, urlWriter, "Configure Restore", 0)
+
+ self.addControl( InputControl( 'file', '',
+ 'Suspend file name:',
+ ".*") )
+
+class DoRestore( Sheet ):
+ def __init__(self, urlWriter ):
+ Sheet.__init__(self, urlWriter, "Restore Done", 1)
+
+ def write_BODY( self, request, err ):
+
+ if not self.passback: self.parseForm( request )
+ config = ssxp2hash ( string2sxp( self.passback ) )
+
+ try:
+ dom_sxp = server.xend_domain_restore( config['file'] )
+ success = "Your domain was successfully restored.\n"
+ except Exception, e:
+ success = "There was an error restoring your domain\n"
+ dom_sxp = str(e)
+
+ pt = PreTab( success + sxp2prettystring( dom_sxp ) )
+ pt.write_BODY( request )
+
+ request.write( "<input type='hidden' name='passback' value=\"%s\"></p>" % self.passback )
+ request.write( "<input type='hidden' name='sheet' value='%s'></p>" % self.location )