Ejemplo n.º 1
0
    def get(self, room_name=None):
        if room_name is None:
            room_name = 'index.html'

        location = Geo.get_location_from_ip(self.request.remote_ip)
        if location is None or location.city.name is None:
            city = None
        else:
            city = location.city.name.lower()

        prefix = 'login-'
        if self.request.host.startswith(prefix):
            matches = re.match('^{p}([a-zA-Z0-9_-]+)\.(teaorbit\.com|tea.local)(:\d{{4}})?$'.format(p=prefix), self.request.host)
            if matches:
                session_id = matches.group(1)
                base_host = matches.group(2)
                port = matches.group(3) or ""
                print "domain", base_host
                print "session", session_id
                print "port", port
                self.set_cookie(config.cookie_name, session_id, domain=".{host}".format(host=base_host), expires=None, path='/', expires_days=2000)
                return self.redirect("http://{host}{port}/{channel}".format(host=base_host, channel=room_name, port=port))

        client = self.request.headers.get('X-Requested-By', 'Web')
        return self.render("templates/index.html", STATIC_URL=STATIC_URL, room_name=room_name, client=client, version=config.version, city=city)