From ed93d324a85e9427d0d8051160b6288fca53cc88 Mon Sep 17 00:00:00 2001 From: Cliff Hill Date: Mon, 4 Oct 2021 15:46:00 -0400 Subject: [PATCH] More and more fixes. Signed-off-by: Cliff Hill --- src/playlist/data/base.py | 2 +- src/playlist/plex/server.py | 2 +- tests/data/test_base.py | 2 +- tests/data/test_settings.py | 3 ++- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/playlist/data/base.py b/src/playlist/data/base.py index 296b67e..3a70bce 100644 --- a/src/playlist/data/base.py +++ b/src/playlist/data/base.py @@ -11,7 +11,7 @@ import marshmallow DataSub = typing.TypeVar("DataSub", bound="BaseData") -DataDict = typing.TypeVar("DataDict") +DataDict = typing.NewType("DataDict", dict[str, object]) class DataMeta(type): diff --git a/src/playlist/plex/server.py b/src/playlist/plex/server.py index bf00cea..5dc142f 100644 --- a/src/playlist/plex/server.py +++ b/src/playlist/plex/server.py @@ -36,7 +36,7 @@ def calc_delay(times: list[float], weights: list[float]) -> None: s.download.process_delay = round(delay, ndigits=3) -def calc_duration(durations: list[float]) -> None: +def calc_duration(durations: list[int]) -> None: """Calculate the average duration and max tracks to play each day. This is based on the geometric mean of the durations of every track loaded from diff --git a/tests/data/test_base.py b/tests/data/test_base.py index 20673cb..7dd5fba 100644 --- a/tests/data/test_base.py +++ b/tests/data/test_base.py @@ -78,7 +78,7 @@ def test_dict(dummyannotations: dict[str, typing.Any]) -> None: def test_load(dummydict: base.DataDict, dummyobj: Dummy) -> None: """Validate that .load() works.""" - result = Dummy.load(dummydict) + result: Dummy = Dummy.load(dummydict) assert result == dummyobj diff --git a/tests/data/test_settings.py b/tests/data/test_settings.py index cf24ae7..a57e673 100644 --- a/tests/data/test_settings.py +++ b/tests/data/test_settings.py @@ -1,4 +1,5 @@ """Tests for validating the Settings object.""" +import base64 import os import pathlib @@ -13,7 +14,7 @@ def example_settings() -> settings.Settings: return settings.Settings( creds=settings.CredentialSettings( baseurl="http://nowhere.huh", - token=str(os.urandom(8), "utf-8"), + token=base64.b64encode(os.urandom(8)).decode("utf-8"), ), )