Remove superclass from GMail Authentication (#95001)
This commit is contained in:
parent
57c9aad9b1
commit
6230a51695
2 changed files with 4 additions and 9 deletions
|
@ -8,7 +8,6 @@ from homeassistant.const import CONF_NAME, Platform
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.exceptions import ConfigEntryAuthFailed, ConfigEntryNotReady
|
from homeassistant.exceptions import ConfigEntryAuthFailed, ConfigEntryNotReady
|
||||||
from homeassistant.helpers import config_validation as cv, discovery
|
from homeassistant.helpers import config_validation as cv, discovery
|
||||||
from homeassistant.helpers.aiohttp_client import async_get_clientsession
|
|
||||||
from homeassistant.helpers.config_entry_oauth2_flow import (
|
from homeassistant.helpers.config_entry_oauth2_flow import (
|
||||||
OAuth2Session,
|
OAuth2Session,
|
||||||
async_get_config_entry_implementation,
|
async_get_config_entry_implementation,
|
||||||
|
@ -35,7 +34,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
||||||
"""Set up Google Mail from a config entry."""
|
"""Set up Google Mail from a config entry."""
|
||||||
implementation = await async_get_config_entry_implementation(hass, entry)
|
implementation = await async_get_config_entry_implementation(hass, entry)
|
||||||
session = OAuth2Session(hass, entry, implementation)
|
session = OAuth2Session(hass, entry, implementation)
|
||||||
auth = AsyncConfigEntryAuth(async_get_clientsession(hass), session)
|
auth = AsyncConfigEntryAuth(session)
|
||||||
try:
|
try:
|
||||||
await auth.check_and_refresh_token()
|
await auth.check_and_refresh_token()
|
||||||
except ClientResponseError as err:
|
except ClientResponseError as err:
|
||||||
|
|
|
@ -1,25 +1,21 @@
|
||||||
"""API for Google Mail bound to Home Assistant OAuth."""
|
"""API for Google Mail bound to Home Assistant OAuth."""
|
||||||
from aiohttp import ClientSession
|
|
||||||
from google.auth.exceptions import RefreshError
|
from google.auth.exceptions import RefreshError
|
||||||
from google.oauth2.credentials import Credentials
|
from google.oauth2.credentials import Credentials
|
||||||
from google.oauth2.utils import OAuthClientAuthHandler
|
|
||||||
from googleapiclient.discovery import Resource, build
|
from googleapiclient.discovery import Resource, build
|
||||||
|
|
||||||
from homeassistant.const import CONF_ACCESS_TOKEN
|
from homeassistant.const import CONF_ACCESS_TOKEN
|
||||||
from homeassistant.helpers import config_entry_oauth2_flow
|
from homeassistant.helpers import config_entry_oauth2_flow
|
||||||
|
|
||||||
|
|
||||||
class AsyncConfigEntryAuth(OAuthClientAuthHandler):
|
class AsyncConfigEntryAuth:
|
||||||
"""Provide Google Mail authentication tied to an OAuth2 based config entry."""
|
"""Provide Google Mail authentication tied to an OAuth2 based config entry."""
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
websession: ClientSession,
|
oauth2_session: config_entry_oauth2_flow.OAuth2Session,
|
||||||
oauth2Session: config_entry_oauth2_flow.OAuth2Session,
|
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Initialize Google Mail Auth."""
|
"""Initialize Google Mail Auth."""
|
||||||
self.oauth_session = oauth2Session
|
self.oauth_session = oauth2_session
|
||||||
super().__init__(websession)
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def access_token(self) -> str:
|
def access_token(self) -> str:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue