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)