diff options
Diffstat (limited to 'tools/python/xen/xend/server/SrvEventDir.py')
-rw-r--r-- | tools/python/xen/xend/server/SrvEventDir.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/tools/python/xen/xend/server/SrvEventDir.py b/tools/python/xen/xend/server/SrvEventDir.py new file mode 100644 index 0000000000..02871a426a --- /dev/null +++ b/tools/python/xen/xend/server/SrvEventDir.py @@ -0,0 +1,41 @@ +# Copyright (C) 2004 Mike Wray <mike.wray@hp.com> + +from xen.xend import sxp +from xen.xend import EventServer +from SrvDir import SrvDir + +class SrvEventDir(SrvDir): + """Event directory. + """ + + def __init__(self): + SrvDir.__init__(self) + self.eserver = EventServer.instance() + + def op_inject(self, op, req): + eventstring = req.args.get('event') + pin = sxp.Parser() + pin.input(eventstring) + pin.input_eof() + sxpr = pin.get_val() + self.eserver.inject(sxp.name(sxpr), sxpr) + if req.use_sxp: + sxp.name(sxpr) + else: + return '<code>' + eventstring + '</code>' + + def render_POST(self, req): + return self.perform(req) + + def form(self, req): + action = req.prePathURL() + req.write('<form method="post" action="%s" enctype="multipart/form-data">' + % action) + req.write('<button type="submit" name="op" value="inject">Inject</button>') + req.write('Event <input type="text" name="event" size="40"><br>') + req.write('</form>') + req.write('<form method="post" action="%s" enctype="multipart/form-data">' + % action) + req.write('<button type="submit" name="op" value="inject">Inject</button>') + req.write('Event file<input type="file" name="event"><br>') + req.write('</form>') |