diff options
author | Devaev Maxim <[email protected]> | 2020-05-17 15:24:29 +0300 |
---|---|---|
committer | Devaev Maxim <[email protected]> | 2020-05-17 16:09:58 +0300 |
commit | 1fd33bc8ed29c3aaeb6c9971e5879c04113246a3 (patch) | |
tree | db022c9c291fdd2495ddd02aa89b532ce4d011cc | |
parent | 1251b8d705c5a48a78290b2d25cd4de048245035 (diff) |
refactoring
-rw-r--r-- | kvmd/__init__.py | 5 | ||||
-rw-r--r-- | kvmd/apps/ipmi/server.py | 4 | ||||
-rw-r--r-- | kvmd/apps/kvmd/streamer.py | 4 | ||||
-rw-r--r-- | kvmd/apps/vnc/__init__.py | 12 | ||||
-rw-r--r-- | kvmd/apps/vnc/server.py | 12 | ||||
-rw-r--r-- | kvmd/clients/__init__.py | 20 | ||||
-rw-r--r-- | kvmd/clients/kvmd.py (renamed from kvmd/apps/vnc/kvmd.py) | 4 | ||||
-rw-r--r-- | kvmd/clients/streamer.py (renamed from kvmd/apps/vnc/streamer.py) | 6 | ||||
-rw-r--r-- | kvmd/plugins/auth/http.py | 4 | ||||
-rwxr-xr-x | setup.py | 1 |
10 files changed, 52 insertions, 20 deletions
diff --git a/kvmd/__init__.py b/kvmd/__init__.py index f8f6240a..ff113b33 100644 --- a/kvmd/__init__.py +++ b/kvmd/__init__.py @@ -21,3 +21,8 @@ __version__ = "1.59" + + +# ===== +def make_user_agent(app: str) -> str: + return f"{app}/{__version__}" diff --git a/kvmd/apps/ipmi/server.py b/kvmd/apps/ipmi/server.py index 0201214f..c53d3ddc 100644 --- a/kvmd/apps/ipmi/server.py +++ b/kvmd/apps/ipmi/server.py @@ -36,7 +36,7 @@ from pyghmi.ipmi.private.serversession import ServerSession as IpmiServerSession from ...logging import get_logger -from ... import __version__ +from ... import make_user_agent from .auth import IpmiAuthManager @@ -169,7 +169,7 @@ class IpmiServer(BaseIpmiServer): # pylint: disable=too-many-instance-attribute headers={ "X-KVMD-User": credentials.kvmd_user, "X-KVMD-Passwd": credentials.kvmd_passwd, - "User-Agent": f"KVMD-IPMI/{__version__}", + "User-Agent": make_user_agent("KVMD-IPMI"), }, timeout=self.__kvmd_timeout, ) as response: diff --git a/kvmd/apps/kvmd/streamer.py b/kvmd/apps/kvmd/streamer.py index f5bd6b1f..b31f369f 100644 --- a/kvmd/apps/kvmd/streamer.py +++ b/kvmd/apps/kvmd/streamer.py @@ -38,7 +38,7 @@ from ...logging import get_logger from ... import aiotools from ... import gpio -from ... import __version__ +from ... import make_user_agent # ===== @@ -180,7 +180,7 @@ class Streamer: # pylint: disable=too-many-instance-attributes try: async with session.get( url=f"http://{self.__host}:{self.__port}/state", - headers={"User-Agent": f"KVMD/{__version__}"}, + headers={"User-Agent": make_user_agent("KVMD")}, timeout=self.__timeout, ) as response: response.raise_for_status() diff --git a/kvmd/apps/vnc/__init__.py b/kvmd/apps/vnc/__init__.py index 8bd9be63..9bcc9d27 100644 --- a/kvmd/apps/vnc/__init__.py +++ b/kvmd/apps/vnc/__init__.py @@ -23,10 +23,13 @@ from typing import List from typing import Optional +from ...clients.kvmd import KvmdClient +from ...clients.streamer import StreamerClient + +from ... import make_user_agent + from .. import init -from .kvmd import KvmdClient -from .streamer import StreamerClient from .vncauth import VncAuthManager from .server import VncServer from .keysym import build_symmap @@ -53,6 +56,9 @@ def main(argv: Optional[List[str]]=None) -> None: symmap=build_symmap(config.keymap), kvmd=KvmdClient(**config.kvmd._unpack()), - streamer=StreamerClient(**config.streamer._unpack()), + streamer=StreamerClient( + user_agent=make_user_agent("KVMD-VNC"), + **config.streamer._unpack(), + ), vnc_auth_manager=VncAuthManager(**config.auth.vncauth._unpack()), ).run() diff --git a/kvmd/apps/vnc/server.py b/kvmd/apps/vnc/server.py index baec8d36..b860b261 100644 --- a/kvmd/apps/vnc/server.py +++ b/kvmd/apps/vnc/server.py @@ -34,6 +34,12 @@ import aiohttp from ...logging import get_logger +from ...clients.kvmd import KvmdError +from ...clients.kvmd import KvmdClient + +from ...clients.streamer import StreamerError +from ...clients.streamer import StreamerClient + from ... import aiotools from .rfb import RfbClient @@ -44,12 +50,6 @@ from .rfb.errors import RfbError from .vncauth import VncAuthKvmdCredentials from .vncauth import VncAuthManager -from .kvmd import KvmdError -from .kvmd import KvmdClient - -from .streamer import StreamerError -from .streamer import StreamerClient - from .render import make_text_jpeg diff --git a/kvmd/clients/__init__.py b/kvmd/clients/__init__.py new file mode 100644 index 00000000..1e91f7fa --- /dev/null +++ b/kvmd/clients/__init__.py @@ -0,0 +1,20 @@ +# ========================================================================== # +# # +# KVMD - The main Pi-KVM daemon. # +# # +# Copyright (C) 2018 Maxim Devaev <[email protected]> # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see <https://www.gnu.org/licenses/>. # +# # +# ========================================================================== # diff --git a/kvmd/apps/vnc/kvmd.py b/kvmd/clients/kvmd.py index ebea5554..1e756ae9 100644 --- a/kvmd/apps/vnc/kvmd.py +++ b/kvmd/clients/kvmd.py @@ -27,7 +27,7 @@ from typing import AsyncGenerator import aiohttp -from ... import __version__ +from .. import make_user_agent # ===== @@ -106,7 +106,7 @@ class KvmdClient: "headers": { "X-KVMD-User": user, "X-KVMD-Passwd": passwd, - "User-Agent": f"KVMD-VNC/{__version__}", + "User-Agent": make_user_agent("KVMD-VNC"), }, } if self.__unix_path: diff --git a/kvmd/apps/vnc/streamer.py b/kvmd/clients/streamer.py index 094f5081..5e068425 100644 --- a/kvmd/apps/vnc/streamer.py +++ b/kvmd/clients/streamer.py @@ -26,8 +26,6 @@ from typing import AsyncGenerator import aiohttp -from ... import __version__ - # ===== class StreamerError(Exception): @@ -43,6 +41,7 @@ class StreamerClient: port: int, unix_path: str, timeout: float, + user_agent: str, ) -> None: assert port or unix_path @@ -50,6 +49,7 @@ class StreamerClient: self.__port = port self.__unix_path = unix_path self.__timeout = timeout + self.__user_agent = user_agent async def read(self) -> AsyncGenerator[Tuple[bool, int, int, bytes], None]: try: @@ -57,7 +57,7 @@ class StreamerClient: async with session.get( url=f"http://{self.__host}:{self.__port}/stream", params={"extra_headers": "1"}, - headers={"User-Agent": f"KVMD-VNC/{__version__}"}, + headers={"User-Agent": self.__user_agent}, ) as response: response.raise_for_status() reader = aiohttp.MultipartReader.from_response(response) diff --git a/kvmd/plugins/auth/http.py b/kvmd/plugins/auth/http.py index 4cba34fe..2daf5540 100644 --- a/kvmd/plugins/auth/http.py +++ b/kvmd/plugins/auth/http.py @@ -33,7 +33,7 @@ from ...validators.basic import valid_float_f01 from ...logging import get_logger -from ... import __version__ +from ... import make_user_agent from . import BaseAuthService @@ -85,7 +85,7 @@ class Plugin(BaseAuthService): "secret": self.__secret, }, headers={ - "User-Agent": f"KVMD/{__version__}", + "User-Agent": make_user_agent("KVMD"), "X-KVMD-User": user, }, ) as response: @@ -86,6 +86,7 @@ def main() -> None: "kvmd.plugins.atx", "kvmd.plugins.msd", "kvmd.plugins.msd.otg", + "kvmd.clients", "kvmd.apps", "kvmd.apps.kvmd", "kvmd.apps.kvmd.api", |