From 617eed4d9623ed34871b3e0a19d606a313d0cd67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mose=20M=C3=BCller?= Date: Mon, 27 Nov 2023 17:16:15 +0100 Subject: [PATCH] implements ruff suggestions --- src/pydase/utils/logging.py | 4 ++-- src/pydase/utils/serializer.py | 23 +++++++++++------------ 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/src/pydase/utils/logging.py b/src/pydase/utils/logging.py index 617792c..107c210 100644 --- a/src/pydase/utils/logging.py +++ b/src/pydase/utils/logging.py @@ -20,7 +20,7 @@ class DefaultFormatter(uvicorn.logging.ColourizedFormatter): for formatting the output, instead of the plain text message. """ - def formatMessage(self, record: logging.LogRecord) -> str: + def formatMessage(self, record: logging.LogRecord) -> str: # noqa: N802 recordcopy = copy(record) levelname = recordcopy.levelname seperator = " " * (8 - len(recordcopy.levelname)) @@ -74,7 +74,7 @@ def setup_logging(level: Optional[str | int] = None) -> None: with an option to override the level. By default, in a development environment, the log level is set to DEBUG, whereas in other environments, it is set to INFO. - Parameters: + Args: level (Optional[str | int]): A specific log level to set for the application. If None, the log level is determined based on the application's operation mode. Accepts standard log diff --git a/src/pydase/utils/serializer.py b/src/pydase/utils/serializer.py index d217718..c32a1a3 100644 --- a/src/pydase/utils/serializer.py +++ b/src/pydase/utils/serializer.py @@ -28,7 +28,7 @@ class Serializer: def serialize_object(obj: Any) -> dict[str, Any]: result: dict[str, Any] = {} if isinstance(obj, AbstractDataService): - result = Serializer._serialize_DataService(obj) + result = Serializer._serialize_data_service(obj) elif isinstance(obj, list): result = Serializer._serialize_list(obj) @@ -38,7 +38,7 @@ class Serializer: # Special handling for u.Quantity elif isinstance(obj, u.Quantity): - result = Serializer._serialize_Quantity(obj) + result = Serializer._serialize_quantity(obj) # Handling for Enums elif isinstance(obj, Enum): @@ -83,7 +83,7 @@ class Serializer: } @staticmethod - def _serialize_Quantity(obj: u.Quantity) -> dict[str, Any]: + def _serialize_quantity(obj: u.Quantity) -> dict[str, Any]: obj_type = "Quantity" readonly = False doc = get_attribute_doc(obj) @@ -154,7 +154,7 @@ class Serializer: } @staticmethod - def _serialize_DataService(obj: AbstractDataService) -> dict[str, Any]: + def _serialize_data_service(obj: AbstractDataService) -> dict[str, Any]: readonly = False doc = get_attribute_doc(obj) obj_type = type(obj).__name__ @@ -180,9 +180,7 @@ class Serializer: # Skip keys that start with "start_" or "stop_" and end with an async # method name - if (key.startswith("start_") or key.startswith("stop_")) and key.split( - "_", 1 - )[1] in { + if key.startswith(("start_", "stop_")) and key.split("_", 1)[1] in { name for name, _ in inspect.getmembers( obj, predicate=inspect.iscoroutinefunction @@ -293,6 +291,7 @@ def get_nested_dict_by_path( def get_next_level_dict_by_key( serialization_dict: dict[str, Any], attr_name: str, + *, allow_append: bool = False, ) -> dict[str, Any]: """ @@ -366,23 +365,23 @@ def generate_serialized_data_paths( attribute in the serialized data. """ - paths = [] + paths: list[str] = [] for key, value in data.items(): if value["type"] == "method": # ignoring methods continue new_path = f"{parent_path}.{key}" if parent_path else key if isinstance(value["value"], dict) and value["type"] != "Quantity": - paths.extend(generate_serialized_data_paths(value["value"], new_path)) # type: ignore + paths.extend(generate_serialized_data_paths(value["value"], new_path)) elif isinstance(value["value"], list): for index, item in enumerate(value["value"]): indexed_key_path = f"{new_path}[{index}]" if isinstance(item["value"], dict): - paths.extend( # type: ignore + paths.extend( generate_serialized_data_paths(item["value"], indexed_key_path) ) else: - paths.append(indexed_key_path) # type: ignore + paths.append(indexed_key_path) else: - paths.append(new_path) # type: ignore + paths.append(new_path) return paths