1
Fork 0
mirror of https://github.com/RYGhub/royalnet.git synced 2024-11-24 03:54:20 +00:00
royalnet/steam.py

39 lines
No EOL
1.2 KiB
Python

from flask import Flask
from flask import session as flask_session
from flask_openid import OpenID
from db import session, Royal, Steam
import re
# Init the config reader
import configparser
config = configparser.ConfigParser()
config.read("config.ini")
# Init Flask and Flask_OpenID
app = Flask(__name__)
app.secret_key = config["Steam"]["secret_key"]
oid = OpenID(app)
@app.route("/login/<int:royal_id>")
@oid.loginhandler
def page_steam_login(royal_id):
flask_session["royal_id"] = royal_id
return oid.try_login("http://steamcommunity.com/openid")
@oid.after_login
def page_after_login(response):
steam_id = re.search("https?://steamcommunity\.com/openid/id/(.+)", response.identity_url).group(1)
db_steam = session.query(Steam).filter(Steam.steam_id == steam_id).first()
if db_steam is None:
db_steam = Steam(royal_id=flask_session["royal_id"],
steam_id=steam_id)
session.add(db_steam)
session.commit()
return "Account Steam collegato con successo!"
else:
return "Il tuo account Steam è già collegato."
if __name__ == "__main__":
app.run(host="0.0.0.0", port=config["Steam"]["flask_port"])