summaryrefslogtreecommitdiffstats
path: root/remoting/client/appengine/main.py
blob: 78900c232f97a2c8134b8dc77d81ffb7eb71cf32 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#!/usr/bin/env python

import logging
import os

from django.utils import simplejson as json

import gdata.gauth
import gdata.client

from google.appengine.api import users
from google.appengine.ext import webapp
from google.appengine.ext.webapp import template
from google.appengine.ext.webapp import util
from google.appengine.ext.webapp.util import login_required

import auth

class HostListHandler(webapp.RequestHandler):
  """Renders the main hostlist page."""
  @login_required
  def get(self):
    template_params = {
      'chromoting_token': auth.GetChromotingToken(throws=False),
      'xmpp_token': auth.GetXmppToken(throws=False)
    }
    path = os.path.join(os.path.dirname(__file__), 'hostlist.html')
    self.response.out.write(template.render(path, template_params))


class ChromotingSessionHandler(webapp.RequestHandler):
  """Renders one Chromoting session."""
  @login_required
  def get(self):
    template_params = {
      'hostname': self.request.get('hostname'),
      'username': users.get_current_user().email(),
      'hostjid': self.request.get('hostjid'),
      'xmpp_token': auth.GetXmppToken(),
    }
    path = os.path.join(os.path.dirname(__file__), 'chromoting_session.html')
    self.response.out.write(template.render(path, template_params))


def main():
  application = webapp.WSGIApplication(
      [
      ('/', HostListHandler),
      ('/session', ChromotingSessionHandler),
      ],
      debug=True)
  util.run_wsgi_app(application)


if __name__ == '__main__':
  main()