From a17adcb95819283d64ff5a7e4d1b1de8cdb2f157 Mon Sep 17 00:00:00 2001 From: Marcel van der Veldt Date: Thu, 23 Mar 2023 21:43:42 +0100 Subject: [PATCH] Fix some small typos --- .../common/models/config_entries.py | 20 +++++++++++-------- .../server/providers/soundcloud/__init__.py | 2 ++ 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/music_assistant/common/models/config_entries.py b/music_assistant/common/models/config_entries.py index 6b2fcda2..438034c6 100644 --- a/music_assistant/common/models/config_entries.py +++ b/music_assistant/common/models/config_entries.py @@ -108,13 +108,6 @@ class ConfigEntryValue(ConfigEntry): if entry.type == ConfigEntryType.LABEL: result.value = result.label if not isinstance(result.value, expected_type): - # value type does not match - try: - # try to simply convert it - result.value = expected_type(result.value) - return result - except ValueError: - pass # handle common conversions/mistakes if expected_type == float and isinstance(result.value, int): result.value = float(result.value) @@ -122,10 +115,20 @@ class ConfigEntryValue(ConfigEntry): if expected_type == int and isinstance(result.value, float): result.value = int(result.value) return result + if expected_type == int and isinstance(result.value, str) and result.value.isnumeric(): + result.value = int(result.value) + return result + if ( + expected_type == float + and isinstance(result.value, str) + and result.value.isnumeric() + ): + result.value = float(result.value) + return result # fallback to default if result.value is None and allow_none: # In some cases we allow this (e.g. create default config) - result.value = result.default_value + result.value = None return result if entry.default_value: LOGGER.warning( @@ -133,6 +136,7 @@ class ConfigEntryValue(ConfigEntry): result.key, type(result.value), ) + result.value = entry.default_value return result raise ValueError(f"{result.key} has unexpected type: {type(result.value)}") return result diff --git a/music_assistant/server/providers/soundcloud/__init__.py b/music_assistant/server/providers/soundcloud/__init__.py index 9e0fad0e..90191fc0 100644 --- a/music_assistant/server/providers/soundcloud/__init__.py +++ b/music_assistant/server/providers/soundcloud/__init__.py @@ -1,4 +1,6 @@ """Soundcloud support for MusicAssistant.""" +from __future__ import annotations + import asyncio from collections.abc import AsyncGenerator, Callable from typing import TYPE_CHECKING -- 2.34.1