move ConnectionParams (and SASLParams) out to params.py

This commit is contained in:
jesopo 2020-04-02 17:54:27 +01:00
parent 971f49f4c7
commit b46cecf420
2 changed files with 34 additions and 16 deletions

View File

@ -1,4 +1,4 @@
from typing import Optional
from typing import Awaitable, Optional
from enum import IntEnum
from dataclasses import dataclass
@ -6,20 +6,8 @@ from ircstates import Server
from irctokens import Line
from .ircv3 import Capability
from .sasl import SASLParams
@dataclass
class ConnectionParams(object):
nickname: str
host: str
port: int
ssl: bool
username: Optional[str] = None
realname: Optional[str] = None
bindhost: Optional[str] = None
sasl: Optional[SASLParams] = None
from .matching import BaseResponse
from .params import ConnectionParams
class SendPriority(IntEnum):
HIGH = 0
@ -42,6 +30,9 @@ class IServer(Server):
async def send(self, line: Line, priority=SendPriority.DEFAULT):
pass
def wait_for(self, response: BaseResponse) -> Awaitable[Line]:
pass
def set_throttle(self, rate: int, time: float):
pass

27
ircrobots/params.py Normal file
View File

@ -0,0 +1,27 @@
from typing import Optional
from dataclasses import dataclass
@dataclass
class SASLParams(object):
mechanism: str
username: Optional[str] = None
password: Optional[str] = None
class SASLUserPass(SASLParams):
def __init__(self, username: str, password: str):
super().__init__("USERPASS", username, password)
class SASLExternal(SASLParams):
def __init__(self):
super().__init__("EXTERNAL")
@dataclass
class ConnectionParams(object):
nickname: str
host: str
port: int
ssl: bool
username: Optional[str] = None
realname: Optional[str] = None
bindhost: Optional[str] = None
sasl: Optional[SASLParams] = None