commit 9b6d8592972ec2a7dd0768d2eaff77dcfff2f897
parent f7312b84970b99cf847944b27b6af48e86b125ee
Author: MTRNord <mtrnord1@gmail.com>
Date: Sun, 29 Jan 2023 19:28:42 +0100
Apply pylint suggestions
Diffstat:
4 files changed, 20 insertions(+), 23 deletions(-)
diff --git a/matrix_call_multitrack_recorder/__main__.py b/matrix_call_multitrack_recorder/__main__.py
@@ -3,10 +3,10 @@
# SPDX-License-Identifier: AGPL-3.0-or-later
import asyncio
+import sys
from logbook import Logger, StreamHandler
import logbook
-import sys
from matrix_call_multitrack_recorder.bot import RecordingBot, login
@@ -16,28 +16,28 @@ logger.level = logbook.INFO
# Entry
-bot = None
+BOT = None
async def main() -> None:
logger.info("Starting bot...")
client = await login()
- global bot
- bot = RecordingBot(client=client)
+ global BOT
+ BOT = RecordingBot(client=client)
- await bot.start()
+ await BOT.start()
if __name__ == "__main__":
try:
asyncio.get_event_loop().run_until_complete(main())
except Exception:
- if bot:
- asyncio.get_event_loop().run_until_complete(bot.stop())
+ if BOT:
+ asyncio.get_event_loop().run_until_complete(BOT.stop())
logger.exception("Fatal Runtime error.")
sys.exit(1)
except KeyboardInterrupt:
- if bot:
- asyncio.get_event_loop().run_until_complete(bot.stop())
+ if BOT:
+ asyncio.get_event_loop().run_until_complete(BOT.stop())
print("Received keyboard interrupt.")
sys.exit(0)
diff --git a/matrix_call_multitrack_recorder/bot.py b/matrix_call_multitrack_recorder/bot.py
@@ -7,6 +7,7 @@ import getpass
import json
import os
import sys
+from nio.events import to_device
from nio import (
AsyncClient,
LoginResponse,
@@ -20,7 +21,6 @@ from nio import (
AsyncClientConfig,
InviteEvent,
MSC3401CallEvent,
- to_device,
CallMemberEvent,
RoomMessageText,
ProfileGetDisplayNameResponse,
@@ -28,7 +28,6 @@ from nio import (
from logbook import Logger, StreamHandler
import logbook
-import sys
from matrix_call_multitrack_recorder.recorder import Recorder
@@ -90,7 +89,6 @@ class RecordingBot:
logger.info("Stopping client")
await self.recorder.stop()
await self.client.close()
- pass
async def message_callback(self, room: MatrixRoom, event: RoomMessageText) -> None:
"""Handles incoming messages."""
@@ -121,7 +119,6 @@ class RecordingBot:
await self.recorder.join_call(room)
asyncio.create_task(command_handling())
- pass
# TODO: Negotiate new streams
# TODO: Handle m.call.negotiate to-device events
@@ -222,7 +219,7 @@ def write_details_to_disk(resp: LoginResponse, homeserver) -> None:
homeserver -- URL of homeserver, e.g. "https://matrix.example.org"
"""
# open the config file in write-mode
- with open(CONFIG_FILE, "w") as f:
+ with open(CONFIG_FILE, "w", encoding="utf8") as f:
# write the login details to disk
json.dump(
{
@@ -286,7 +283,7 @@ async def login() -> AsyncClient:
# Otherwise the config file exists, so we'll use the stored credentials
else:
# open the file in read-only mode
- with open(CONFIG_FILE, "r") as f:
+ with open(CONFIG_FILE, "r", encoding="utf8") as f:
config = json.load(f)
client = AsyncClient(
config["homeserver"],
diff --git a/matrix_call_multitrack_recorder/recorder.py b/matrix_call_multitrack_recorder/recorder.py
@@ -8,9 +8,10 @@ import os
import random
import string
from typing import Dict, List, Optional, Tuple, Union
+import sys
+import time
from logbook import Logger, StreamHandler
import logbook
-import sys
from nio import (
AsyncClient,
CallInviteEvent,
@@ -24,10 +25,9 @@ from nio import (
ToDeviceCallHangupEvent,
)
from aiortc import RTCPeerConnection, RTCSessionDescription, MediaStreamTrack
-from aiortc.contrib.media import MediaRecorder, MediaBlackhole
+from aiortc.contrib.media import MediaRecorder
from aiortc.rtcicetransport import candidate_from_aioice
from aioice.candidate import Candidate
-import time
StreamHandler(sys.stdout).push_application()
logger = Logger(__name__)
@@ -138,7 +138,6 @@ class Recorder:
state_key=self.client.user_id,
)
await conn.pc.close()
- pass
def add_call(self, conf_id: ConfID, room: MatrixRoom) -> None:
logger.info(f"Adding conf {conf_id} to room {room.room_id}")
@@ -527,7 +526,7 @@ class Recorder:
try:
conn = self.conns[unique_id]
- except KeyError as e:
+ except KeyError:
logger.warning("Received candidates for unknown call")
return
logger.info("Waiting for prepare")
@@ -545,8 +544,8 @@ class Recorder:
candidate = candidate_from_aioice(
Candidate.from_sdp(raw_candidate.get("candidate"))
)
- except ValueError as e:
- logger.warning("Received invalid candidate: %s", e)
+ except ValueError as error:
+ logger.warning(f"Received invalid candidate: {error}")
continue
candidate.sdpMid = raw_candidate.get("sdpMid")
candidate.sdpMLineIndex = raw_candidate.get("sdpMLineIndex")
diff --git a/pyproject.toml b/pyproject.toml
@@ -48,7 +48,8 @@ path = "matrix_call_multitrack_recorder/__about__.py"
dependencies = [
"pytest",
"pytest-cov",
- "black"
+ "black",
+ "pylint"
]
[tool.hatch.envs.default.scripts]
cov = "pytest --cov-report=term-missing --cov-config=pyproject.toml --cov=matrix_call_multitrack_recorder --cov=tests {args}"