Exemplo n.º 1
0
def main():
    app_log.info("starting application")

    app = make_app()
    app.listen(config.http_port)

    start_queues = False
    if start_queues:
        queue_user.setup()

    tornado.locale.load_translations(config.tornado_translations)
    tornado.ioloop.IOLoop.current().start()
Exemplo n.º 2
0
    async def post(self):
        message = self.get_argument("message", None)

        if not message:
            raise tornado.web.HTTPError(400)

        message = "{} ({})".format(
            message, self.current_user.main_character.character_name)

        await slack.group_ping("midnight-rodeo", message)

        app_log.info("%s sent all ping: %s" % (self.current_user, message))

        return self.redirect("/ping/send_all/success")
Exemplo n.º 3
0
    async def post(self):
        message = self.get_argument("message", None)
        group = self.model_by_id(GroupModel, "group_id")

        if not message:
            raise tornado.web.HTTPError(400)

        message = "{} ({})".format(
            message, self.current_user.main_character.character_name)

        await slack.group_ping(group.slug, message)

        app_log.info("%s sent group ping to %s: %s" %
                     (self.current_user, group, message))

        return self.redirect("/ping/send_group/success?group_id={}".format(
            group.id))
Exemplo n.º 4
0
def refresh_access_token(character):
    """Use a characters refresh token to request a new access token."""
    if character.refresh_token is None:
        app_log.warn("no refresh token for {}".format(character))
        return

    app_log.debug("refreshing access token for {}".format(
        character.character_name))

    client = tornado.httpclient.HTTPClient()
    request = tornado.httpclient.HTTPRequest(
        "https://login.eveonline.com/oauth/token",
        method="POST",
        headers={
            "Authorization": "Basic {}".format(sso_auth),
            "Content-Type": "application/json",
            "User-Agent": "Hard Knocks Inc. Authentication System"
        },
        body=json.dumps({
            "grant_type": "refresh_token",
            "refresh_token": character.refresh_token
        }))

    try:
        response = client.fetch(request)
        response = json.loads(response.body.decode("utf-8"))

        character.access_token = response["access_token"]

        session.add(character)
        session.commit()

        app_log.debug("got new access token for {}".format(character))
    except tornado.httpclient.HTTPError:
        app_log.info(
            "failed retrieving new access token for {}".format(character))

        character.access_token = None
        character.refresh_token = None

        session.add(character)
        session.commit()

        raise Exception("")  # XXX proper type