From 1b2932f1b0cbfda8504cb4e94bb2c9a56934fbc7 Mon Sep 17 00:00:00 2001 From: thecosmos Date: Sun, 26 May 2019 10:52:24 +0530 Subject: [PATCH] Use configs from Flask app instance --- .gitignore | 1 + README.md | 16 ++++++++-------- docs/introduction.rst | 16 ++++++++-------- flask_discord/_http.py | 8 ++++---- flask_discord/client.py | 8 ++------ tests/test_app.py | 12 +++++++----- 6 files changed, 30 insertions(+), 31 deletions(-) diff --git a/.gitignore b/.gitignore index 1db62aa..1c592fc 100644 --- a/.gitignore +++ b/.gitignore @@ -106,3 +106,4 @@ venv.bak/ # IDE .idea/ +.vscode/ diff --git a/README.md b/README.md index da96587..3745373 100644 --- a/README.md +++ b/README.md @@ -16,15 +16,15 @@ python3 -m pip install Flask-Discord from flask import Flask, redirect, url_for from flask_discord import DiscordOAuth2Session -CONFIGS = { - "client_id": 9999999999, - "client_secret": "your client secret", - "redirect_uri": "default redirect uri", -} - app = Flask(__name__) -app.secret_key = "random bytes representing flask secret key" -discord = DiscordOAuth2Session(**CONFIGS) + +app.secret_key = b"random bytes representing flask secret key" + +app.config["DISCORD_CLIENT_ID"] = 490732332240863233 # Discord client ID. +app.config["DISCORD_CLIENT_SECRET"] = "" # Discord client secret. +app.config["DISCORD_REDIRECT_URI"] = "" # Redirect URI. + +discord = DiscordOAuth2Session(app) @app.route("/login/") diff --git a/docs/introduction.rst b/docs/introduction.rst index bcc51c0..d644deb 100644 --- a/docs/introduction.rst +++ b/docs/introduction.rst @@ -45,15 +45,15 @@ in exchange for fetching user's details and display them on web page. from flask import Flask, redirect, url_for from flask_discord import DiscordOAuth2Session - CONFIGS = { - "client_id": 9999999999, - "client_secret": "your client secret", - "redirect_uri": "default redirect uri", - } - app = Flask(__name__) - app.secret_key = "random bytes representing flask secret key" - discord = DiscordOAuth2Session(**CONFIGS) + + app.secret_key = b"random bytes representing flask secret key" + + app.config["DISCORD_CLIENT_ID"] = 490732332240863233 # Discord client ID. + app.config["DISCORD_CLIENT_SECRET"] = "" # Discord client secret. + app.config["DISCORD_REDIRECT_URI"] = "" # Redirect URI. + + discord = DiscordOAuth2Session(app) @app.route("/login/") diff --git a/flask_discord/_http.py b/flask_discord/_http.py index e1510ad..ba981bb 100644 --- a/flask_discord/_http.py +++ b/flask_discord/_http.py @@ -29,10 +29,10 @@ class DiscordOAuth2HttpClient(abc.ABC): "discord_oauth2_token", ] - def __init__(self, client_id, client_secret, redirect_uri): - self.client_id = client_id - self.client_secret = client_secret - self.redirect_uri = redirect_uri + def __init__(self, app): + self.client_id = app.config["DISCORD_CLIENT_ID"] + self.client_secret = app.config["DISCORD_CLIENT_SECRET"] + self.redirect_uri = app.config["DISCORD_REDIRECT_URI"] if "http://" in self.redirect_uri: os.environ["OAUTHLIB_INSECURE_TRANSPORT"] = "true" diff --git a/flask_discord/client.py b/flask_discord/client.py index 92b01b4..b40d32e 100644 --- a/flask_discord/client.py +++ b/flask_discord/client.py @@ -11,12 +11,8 @@ class DiscordOAuth2Session(_http.DiscordOAuth2HttpClient): Parameters ---------- - client_id : int - Client ID of your discord application. - client_secret : str - Client secret of your discord application. - redirect_uri : str - The default URL to be used to redirect user after the OAuth2 authorization. + app : Flask + An instance of your flask application. """ diff --git a/tests/test_app.py b/tests/test_app.py index 336e5f2..f56c026 100644 --- a/tests/test_app.py +++ b/tests/test_app.py @@ -1,14 +1,16 @@ from flask import Flask, redirect, url_for from flask_discord import DiscordOAuth2Session -OAUTH2_CLIENT_ID = 490732332240863233 -OAUTH2_CLIENT_SECRET = "GjKMenfebgLrOYQ_A_X7ouaWv9IhWdbI" -OAUTH2_REDIRECT_URI = "http://127.0.0.1:5000/callback" - app = Flask(__name__) + app.secret_key = b"%\xe0'\x01\xdeH\x8e\x85m|\xb3\xffCN\xc9g" -discord = DiscordOAuth2Session(OAUTH2_CLIENT_ID, OAUTH2_CLIENT_SECRET, OAUTH2_REDIRECT_URI) + +app.config["DISCORD_CLIENT_ID"] = 490732332240863233 +app.config["DISCORD_CLIENT_SECRET"] = "GjKMenfebgLrOYQ_A_X7ouaWv9IhWdbI" +app.config["DISCORD_REDIRECT_URI"] = "http://127.0.0.1:5000/callback" + +discord = DiscordOAuth2Session(app) @app.route("/")