Skip to content

Commit 6bf1b59

Browse files
Lint docstrings (#137)
* Add requirements * Fix docstrings in matter server * Fix docstrings in scripts
1 parent d3e77d3 commit 6bf1b59

15 files changed

+33
-6
lines changed

main.py

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
"""Run the Matter Server."""
12
import sys
23

34
from matter_server.server.__main__ import main

matter_server/__init__.py

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
"""Provide the Matter Server including both a client and server."""

matter_server/common/__init__.py

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
"""Provide common files for the Matter Server."""

matter_server/common/helpers/json.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313

1414

1515
def json_encoder_default(obj: Any) -> Any:
16-
"""
17-
Convert Special objects.
16+
"""Convert Special objects.
17+
1818
Hand other objects to the original method.
1919
"""
2020
if getattr(obj, "do_not_serialize", None):
+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
"""Provide common models for the Matter Server."""

matter_server/common/models/device_type_instance.py

+2
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ def __init__(
3131
endpoint: int,
3232
device_revision: int,
3333
) -> None:
34+
"""Initialize the device type instance."""
3435
self.node = node
3536
self.device_type = device_type
3637
self.device_revision = device_revision
@@ -62,5 +63,6 @@ def get_cluster(self, cluster: type[_CLUSTER_T]) -> Optional[_CLUSTER_T]:
6263
return self.node.get_cluster(self.endpoint, cluster)
6364

6465
def __repr__(self):
66+
"""Return the representation."""
6567
# pylint: disable=line-too-long
6668
return f"<MatterDeviceTypeInstance {self.device_type.__name__} (N:{self.node.node_id}, E:{self.endpoint})>"

matter_server/common/models/message.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ class ResultMessageBase:
2727

2828
@dataclass
2929
class SuccessResultMessage(ResultMessageBase):
30-
"""Message sent when a Command has been succesfully executed."""
30+
"""Message sent when a Command has been successfully executed."""
3131

3232
result: Any
3333

@@ -43,7 +43,7 @@ class ErrorCode(IntEnum):
4343

4444
@dataclass
4545
class ErrorResultMessage(ResultMessageBase):
46-
"""Message sent when a command did not execute succesfully"""
46+
"""Message sent when a command did not execute successfully."""
4747

4848
error_code: ErrorCode
4949
details: Optional[str] = None

matter_server/common/models/node.py

+1
Original file line numberDiff line numberDiff line change
@@ -214,4 +214,5 @@ def unique_id(self) -> str:
214214
)
215215

216216
def __repr__(self):
217+
"""Return the representation."""
217218
return f"<MatterNode {self.node_id}>"

matter_server/common/models/node_device.py

+10
Original file line numberDiff line numberDiff line change
@@ -35,18 +35,23 @@ class MatterNodeDevice(AbstractMatterNodeDevice):
3535
"""Device that is the whole node."""
3636

3737
def __init__(self, node: MatterNode) -> None:
38+
"""Initialize the node device."""
3839
self._node = node
3940

4041
def node(self) -> MatterNode:
42+
"""Return the node of this device."""
4143
return self._node
4244

4345
def device_info(self) -> Clusters.Basic:
46+
"""Return device info."""
4447
return self._node.root_device_type_instance.get_cluster(Clusters.Basic)
4548

4649
def device_type_instances(self) -> list[MatterDeviceTypeInstance]:
50+
"""Return device type instances."""
4751
return self._node.device_type_instances
4852

4953
def __repr__(self) -> str:
54+
"""Return the representation."""
5055
return f"<MatterNodeDevice (N:{self._node.node_id})>"
5156

5257

@@ -57,17 +62,21 @@ def __init__(
5762
self,
5863
bridged_device_type_instance: MatterDeviceTypeInstance[Aggregator],
5964
) -> None:
65+
"""Initialize the bridged node device."""
6066
self.bridged_device_type_instance = bridged_device_type_instance
6167

6268
def node(self) -> MatterNode:
69+
"""Return the node of this device."""
6370
return self.bridged_device_type_instance.node
6471

6572
def device_info(self) -> Clusters.BridgedDeviceBasic:
73+
"""Return device info."""
6674
return self.bridged_device_type_instance.get_cluster(
6775
Clusters.BridgedDeviceBasic
6876
)
6977

7078
def device_type_instances(self) -> list[MatterDeviceTypeInstance]:
79+
"""Return device type instances."""
7180
endpoint = self.bridged_device_type_instance.endpoint
7281
return [
7382
inst
@@ -76,5 +85,6 @@ def device_type_instances(self) -> list[MatterDeviceTypeInstance]:
7685
]
7786

7887
def __repr__(self) -> str:
88+
"""Return the representation."""
7989
bridged = self.bridged_device_type_instance
8090
return f"<MatterBridgedNodeDevice (N:{bridged.node.node_id}, E:{bridged.endpoint})>"

matter_server/server/device_controller.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ def __init__(
4444
self,
4545
server: MatterServer,
4646
):
47+
"""Initialize the device controller."""
4748
self.server = server
4849
# Instantiate the underlying ChipDeviceController instance on the Fabric
4950
self.chip_controller: ChipDeviceController = (
@@ -84,7 +85,7 @@ async def start(self) -> None:
8485
LOGGER.debug("CHIP Device Controller Initialized")
8586

8687
async def stop(self) -> None:
87-
""" "Handle logic on server stop."""
88+
"""Handle logic on server stop."""
8889
# unsubscribe all node subscriptions
8990
for sub in self._subscriptions.values():
9091
await self._call_sdk(sub.Shutdown)

pyproject.toml

+2-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@ server = [
3434
]
3535
test = [
3636
"black==22.10.0",
37-
"flake8==5.0.4",
37+
"flake8==6.0.0",
38+
"flake8-docstrings==1.6.0",
3839
"isort==5.10.1",
3940
"pylint==2.15.8",
4041
"pytest==7.2.0",

requirements-test.txt

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
black==22.10.0
22
flake8==6.0.0
3+
flake8-docstrings==1.6.0
34
isort==5.10.1
45
pylint==2.15.8
56
pytest==7.2.0

scripts/dump_fixer.py

+2
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717

1818
def process_node(node):
19+
"""Process a node."""
1920
print(f"Node {node.node_id}")
2021
for endpoint_id, endpoint_data in node.raw_data["attributes"].items():
2122
for cluster_name, cluster_info in endpoint_data.items():
@@ -59,6 +60,7 @@ def process_node(node):
5960

6061

6162
def main():
63+
"""Run the script."""
6264
item_space_printer = PrintButFirst(2)
6365

6466
for node in get_nodes():

scripts/example.py

+2
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@
6666
)
6767

6868
async def run_matter():
69+
"""Run the Matter server and client."""
6970
# start Matter Server
7071
await server.start()
7172

@@ -77,6 +78,7 @@ async def run_matter():
7778
await client.start_listening()
7879

7980
async def handle_stop(loop: asyncio.AbstractEventLoop):
81+
"""Handle server stop."""
8082
await server.stop()
8183

8284
# run the server

scripts/generate_devices.py

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
"""Generate device types from matter-devices.xml."""
12
import pathlib
23

34
import black
@@ -12,6 +13,7 @@
1213

1314

1415
def gen_cls_name(name: str):
16+
"""Generate a class name from a cluster name."""
1517
# Convert uppercase words to titlecase
1618
name = "".join(
1719
# Don't mess up wifi name
@@ -36,6 +38,7 @@ def gen_cls_name(name: str):
3638

3739

3840
def main():
41+
"""Generate device types from matter-devices.xml."""
3942
data = xmltodict.parse(DEVICE_XML.read_text())
4043
output = [
4144
'''

0 commit comments

Comments
 (0)