Files
GNX-mailEnterprise/venv/lib/python3.12/site-packages/allauth/socialaccount/providers/battlenet/provider.py
Iliyan Angelov c67067a2a4 Mail
2025-09-14 23:24:25 +03:00

32 lines
933 B
Python

from allauth.socialaccount.providers.base import ProviderAccount
from allauth.socialaccount.providers.oauth2.provider import OAuth2Provider
class BattleNetAccount(ProviderAccount):
def to_str(self):
battletag = self.account.extra_data.get("battletag")
return battletag or super(BattleNetAccount, self).to_str()
class BattleNetProvider(OAuth2Provider):
id = "battlenet"
name = "Battle.net"
account_class = BattleNetAccount
def extract_uid(self, data):
uid = str(data["id"])
if data.get("region") == "cn":
# China is on a different account system. UIDs can clash with US.
return uid + "-cn"
return uid
def extract_common_fields(self, data):
return {"username": data.get("battletag")}
def get_default_scope(self):
# Optional scopes: "sc2.profile", "wow.profile"
return []
provider_classes = [BattleNetProvider]