fix: resolve all basedpyright warnings

- Use collections.abc.Generator/Iterable instead of deprecated typing imports
- Replace Optional with union syntax (X | None)
- Add explicit type annotations to eliminate reportUnknownVariableType
- Use typing.cast for untyped mistletoe attributes (content, level, line_number)
- Replace mutable default arguments with None defaults (reportCallInDefaultInitializer)
- Add ClassVar annotation for model_config (reportIncompatibleVariableOverride)
- Add @override decorator for settings_customise_sources (reportImplicitOverride)
- Annotate class attributes in Tag (reportUnannotatedClassAttribute)
- Add parameter type annotations in test (reportMissingParameterType)
- Assign unused call result to _ (reportUnusedCallResult)
This commit is contained in:
Konstantin Fickel 2026-02-15 17:10:09 +01:00
parent 1e203d9db3
commit 49cd9bcfa0
Signed by: kfickel
GPG key ID: A793722F9933C1A5
10 changed files with 770 additions and 16 deletions

View file

@ -1,6 +1,6 @@
import pytest
from streamer.localize.repository_configuration import (
from streamd.localize.repository_configuration import (
Dimension,
Marker,
MarkerPlacement,
@ -252,8 +252,8 @@ class TestMergeRepositoryConfiguration:
),
},
markers={
"Streamer": Marker(
display_name="Streamer",
"Streamd": Marker(
display_name="Streamd",
placements=[MarkerPlacement(dimension="project")],
)
},
@ -267,8 +267,8 @@ class TestMergeRepositoryConfiguration:
),
},
markers={
"Streamer": Marker(
display_name="Streamer2",
"Streamd": Marker(
display_name="Streamd2",
placements=[
MarkerPlacement(
if_with={"Timesheet"}, dimension="timesheet", value="coding"
@ -291,9 +291,9 @@ class TestMergeRepositoryConfiguration:
assert merged.dimensions["moment"].display_name == "Moment"
assert merged.dimensions["timesheet"].display_name == "Timesheet"
assert set(merged.markers.keys()) == {"Streamer", "JobHunting"}
assert merged.markers["Streamer"].display_name == "Streamer2"
assert merged.markers["Streamer"].placements == [
assert set(merged.markers.keys()) == {"Streamd", "JobHunting"}
assert merged.markers["Streamd"].display_name == "Streamd2"
assert merged.markers["Streamd"].placements == [
MarkerPlacement(dimension="project", value=None, if_with=set()),
MarkerPlacement(
if_with={"Timesheet"}, dimension="timesheet", value="coding"
@ -359,7 +359,9 @@ class TestMergeRepositoryConfiguration:
],
)
def test_merge_repository_configuration_propagate_preserves_base_when_omitted(
base, second, expected_propagate
base: RepositoryConfiguration,
second: RepositoryConfiguration,
expected_propagate: bool,
):
merged = merge_repository_configuration(base, second)
assert merged.dimensions["d"].propagate is expected_propagate