Remove section and config parameter from Authenticator

This commit is contained in:
I-Al-Istannen 2021-05-25 15:11:33 +02:00
parent d905e95dbb
commit 0096a0c077
5 changed files with 9 additions and 18 deletions

View File

@ -15,9 +15,9 @@ AuthConstructor = Callable[[
AUTHENTICATORS: Dict[str, AuthConstructor] = {
"simple": lambda n, s, c:
SimpleAuthenticator(n, SimpleAuthSection(s), c),
SimpleAuthenticator(n, SimpleAuthSection(s)),
"tfa": lambda n, s, c:
TfaAuthenticator(n, AuthSection(s), c),
TfaAuthenticator(n),
"keyring": lambda n, s, c:
KeyringAuthenticator(n, KeyringAuthSection(s), c)
KeyringAuthenticator(n, KeyringAuthSection(s))
}

View File

@ -1,7 +1,7 @@
from abc import ABC, abstractmethod
from typing import Tuple
from ..config import Config, Section
from ..config import Section
class AuthLoadError(Exception):
@ -19,9 +19,7 @@ class AuthSection(Section):
class Authenticator(ABC):
def __init__(
self,
name: str,
section: AuthSection,
config: Config,
name: str
) -> None:
"""
Initialize an authenticator from its name and its section in the config

View File

@ -2,7 +2,6 @@ from typing import Optional, Tuple
import keyring
from ..config import Config
from ..logging import log
from ..utils import agetpass, ainput
from ..version import NAME
@ -23,9 +22,8 @@ class KeyringAuthenticator(Authenticator):
self,
name: str,
section: KeyringAuthSection,
config: Config,
) -> None:
super().__init__(name, section, config)
super().__init__(name)
self._username = section.username()
self._password: Optional[str] = None

View File

@ -1,6 +1,5 @@
from typing import Optional, Tuple
from ..config import Config
from ..logging import log
from ..utils import agetpass, ainput
from .authenticator import Authenticator, AuthError, AuthSection
@ -19,9 +18,8 @@ class SimpleAuthenticator(Authenticator):
self,
name: str,
section: SimpleAuthSection,
config: Config,
) -> None:
super().__init__(name, section, config)
super().__init__(name)
self._username = section.username()
self._password = section.password()

View File

@ -1,19 +1,16 @@
from typing import Tuple
from ..config import Config
from ..logging import log
from ..utils import ainput
from .authenticator import Authenticator, AuthError, AuthSection
from .authenticator import Authenticator, AuthError
class TfaAuthenticator(Authenticator):
def __init__(
self,
name: str,
section: AuthSection,
config: Config,
) -> None:
super().__init__(name, section, config)
super().__init__(name)
async def username(self) -> str:
raise AuthError("TFA authenticator does not support usernames")