Changeset 2433
- Timestamp:
- Aug 11, 2009, 12:54:09 AM (15 years ago)
- Location:
- package_branches/invirt-web/cherrypy/code
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
package_branches/invirt-web/cherrypy/code/main.py
r2432 r2433 296 296 hostname=cherrypy.request.local.name) 297 297 return d 298 299 @cherrypy.expose 300 def at(self, machine_id, k=None, c=0): 301 machine = validation.Validate(cherrypy.request.login, cherrypy.request.state, machine_id=machine_id).machine 302 if machine_id in self.atsessions: 303 term = self.atsessions[machine_id] 304 else: 305 print >>sys.stderr, "spawning new session for terminal to ",machine_id 306 term = self.atsessions[machine_id] = self.atmulti.create( 307 ["ssh", "-e","none", "-l", machine.name, config.console.hostname] 308 ) 309 if k: 310 self.atmulti.proc_write(term,k) 311 time.sleep(0.002) 312 dump=self.atmulti.dump(term,c) 313 cherrypy.response.headers['Content-Type']='text/xml' 314 if isinstance(dump,str): 315 return dump 316 else: 317 del self.atmulti[machine_id] 318 return '<?xml version="1.0"?><idem></idem>' 298 319 299 320 machine = MachineView() -
package_branches/invirt-web/cherrypy/code/static/ajaxterm/ajaxterm.js
r2427 r2433 1 1 ajaxterm={}; 2 ajaxterm.Terminal_ctor=function(id, width,height) {2 ajaxterm.Terminal_ctor=function(id,machine_id) { 3 3 var ie=0; 4 4 if(window.ActiveXObject) 5 5 ie=1; 6 var sid=""+Math.round(Math.random()*1000000000);7 var query0=" s="+sid+"&w="+width+"&h="+height;6 var base_path="machine/"+machine_id+"/at"; 7 var query0=""; 8 8 var query1=query0+"&c=1&k="; 9 9 var buf=""; … … 104 104 var query=query1+send; 105 105 if(opt_get.className=='on') { 106 r.open("GET", "u?"+query,true);106 r.open("GET",base_path+"?"+query,true); 107 107 if(ie) { 108 108 r.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT"); 109 109 } 110 110 } else { 111 r.open("POST", "u",true);111 r.open("POST",base_path,true); 112 112 } 113 113 r.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); … … 274 274 init(); 275 275 } 276 ajaxterm.Terminal=function(id, width,height) {277 return new this.Terminal_ctor(id, width,height);276 ajaxterm.Terminal=function(id,machine_id) { 277 return new this.Terminal_ctor(id,machine_id); 278 278 } 279 279 -
package_branches/invirt-web/cherrypy/code/templates/terminal.mako
r2432 r2433 21 21 <script type="text/javascript"> 22 22 window.onload=function() { 23 t=ajaxterm.Terminal("term", 80,25);23 t=ajaxterm.Terminal("term", ${machine.machine_id}); 24 24 } 25 25 </script> … … 27 27 28 28 <div id="term"></div> 29 <div style="clear: both;"></div>
Note: See TracChangeset
for help on using the changeset viewer.