| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 | 2 |
| 3 # Copyright (c) 2011 The Chromium Authors. All rights reserved. | 3 # Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 4 # Use of this source code is governed by a BSD-style license that can be | 4 # Use of this source code is governed by a BSD-style license that can be |
| 5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
| 6 | 6 |
| 7 import logging | 7 import logging |
| 8 import os | 8 import os |
| 9 | 9 |
| 10 from django.utils import simplejson as json | 10 from django.utils import simplejson as json |
| 11 | 11 |
| 12 from google.appengine.api import users | 12 from google.appengine.api import users |
| 13 from google.appengine.ext import webapp | 13 from google.appengine.ext import webapp |
| 14 from google.appengine.ext.webapp import template | 14 from google.appengine.ext.webapp import template |
| 15 from google.appengine.ext.webapp import util | 15 from google.appengine.ext.webapp import util |
| 16 from google.appengine.ext.webapp.util import login_required | 16 from google.appengine.ext.webapp.util import login_required |
| 17 | 17 |
| 18 import auth | 18 import auth |
| 19 | 19 |
| 20 class HostListHandler(webapp.RequestHandler): | 20 class HostListHandler(webapp.RequestHandler): |
| 21 """Renders the main hostlist page.""" | 21 """Renders the main hostlist page.""" |
| 22 @login_required | 22 @login_required |
| 23 def get(self): | 23 def get(self): |
| 24 template_params = { | 24 template_params = { |
| 25 'has_oauth2_tokens': auth.HasOAuth2Tokens(), | 25 'has_oauth2_tokens': auth.HasOAuth2Tokens(), |
| 26 'xmpp_token': auth.GetXmppToken(throws=False) | 26 'clientlogin_token': auth.GetClientLoginToken(throws=False) |
| 27 } | 27 } |
| 28 path = os.path.join(os.path.dirname(__file__), 'hostlist.html') | 28 path = os.path.join(os.path.dirname(__file__), 'hostlist.html') |
| 29 self.response.out.write(template.render(path, template_params)) | 29 self.response.out.write(template.render(path, template_params)) |
| 30 | 30 |
| 31 | 31 |
| 32 class ChromotingSessionHandler(webapp.RequestHandler): | 32 class ChromotingSessionHandler(webapp.RequestHandler): |
| 33 """Renders one Chromoting session.""" | 33 """Renders one Chromoting session.""" |
| 34 @login_required | 34 @login_required |
| 35 def get(self): | 35 def get(self): |
| 36 token_type = self.request.get('token_type') |
| 37 if token_type == 'clientlogin': |
| 38 talk_token = auth.GetClientLoginToken() |
| 39 else: |
| 40 talk_token = auth.GetOAuth2AccessToken() |
| 41 |
| 36 template_params = { | 42 template_params = { |
| 37 'hostname': self.request.get('hostname'), | 43 'hostname': self.request.get('hostname'), |
| 38 'username': users.get_current_user().email(), | 44 'username': users.get_current_user().email(), |
| 39 'hostjid': self.request.get('hostjid'), | 45 'hostjid': self.request.get('hostjid'), |
| 40 'connect_method': self.request.get('connect_method'), | 46 'connect_method': self.request.get('connect_method'), |
| 41 'insecure': self.request.get('insecure'), | 47 'insecure': self.request.get('insecure'), |
| 42 'xmpp_token': auth.GetXmppToken(), | 48 'talk_token': talk_token, |
| 43 'http_xmpp_proxy': self.request.get('http_xmpp_proxy') | 49 'http_xmpp_proxy': self.request.get('http_xmpp_proxy') |
| 44 } | 50 } |
| 45 path = os.path.join(os.path.dirname(__file__), 'chromoting_session.html') | 51 path = os.path.join(os.path.dirname(__file__), 'chromoting_session.html') |
| 46 self.response.out.write(template.render(path, template_params)) | 52 self.response.out.write(template.render(path, template_params)) |
| 47 | 53 |
| 48 | 54 |
| 49 def main(): | 55 def main(): |
| 50 application = webapp.WSGIApplication( | 56 application = webapp.WSGIApplication( |
| 51 [ | 57 [ |
| 52 ('/', HostListHandler), | 58 ('/', HostListHandler), |
| 53 ('/session', ChromotingSessionHandler), | 59 ('/session', ChromotingSessionHandler), |
| 54 ], | 60 ], |
| 55 debug=True) | 61 debug=True) |
| 56 util.run_wsgi_app(application) | 62 util.run_wsgi_app(application) |
| 57 | 63 |
| 58 | 64 |
| 59 if __name__ == '__main__': | 65 if __name__ == '__main__': |
| 60 main() | 66 main() |
| OLD | NEW |