diff options
| author | twilkie@paploo.uk.xensource.com <twilkie@paploo.uk.xensource.com> | 2005-07-26 13:56:30 +0000 |
|---|---|---|
| committer | twilkie@paploo.uk.xensource.com <twilkie@paploo.uk.xensource.com> | 2005-07-26 13:56:30 +0000 |
| commit | 214520455157307d42fc24bbb9964771336cc8a2 (patch) | |
| tree | 557a9c922430c0409d7781c15932ea9524741e8c /tools/python/xen/sv/RestoreDomain.py | |
| parent | e39ba51523a912f4c63fe7a833cd360b4aa288fa (diff) | |
| download | xen-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-x | tools/python/xen/sv/RestoreDomain.py | 46 |
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 ) |
