From: Jc2k Date: Mon, 8 Jul 2024 15:44:54 +0000 (+0100) Subject: Add type checking for filesystem_smb (#1470) X-Git-Url: https://git.kitaultman.com/?a=commitdiff_plain;h=55f353d062fa30d91db2198cec59508a433f9d44;p=music-assistant-server.git Add type checking for filesystem_smb (#1470) --- diff --git a/music_assistant/server/providers/filesystem_smb/__init__.py b/music_assistant/server/providers/filesystem_smb/__init__.py index 4ff43ee6..1e2d5fda 100644 --- a/music_assistant/server/providers/filesystem_smb/__init__.py +++ b/music_assistant/server/providers/filesystem_smb/__init__.py @@ -40,12 +40,12 @@ async def setup( ) -> ProviderInstanceType: """Initialize provider(instance) with given configuration.""" # check if valid dns name is given for the host - server: str = config.get_value(CONF_HOST) + server = str(config.get_value(CONF_HOST)) if not await get_ip_from_host(server): msg = f"Unable to resolve {server}, make sure the address is resolveable." raise LoginFailed(msg) # check if share is valid - share: str = config.get_value(CONF_SHARE) + share = str(config.get_value(CONF_SHARE)) if not share or "/" in share or "\\" in share: msg = "Invalid share name" raise LoginFailed(msg) @@ -171,13 +171,13 @@ class SMBFileSystemProvider(LocalFileSystemProvider): async def mount(self) -> None: """Mount the SMB location to a temporary folder.""" - server: str = self.config.get_value(CONF_HOST) - username: str = self.config.get_value(CONF_USERNAME) - password: str = self.config.get_value(CONF_PASSWORD) - share: str = self.config.get_value(CONF_SHARE) + server = str(self.config.get_value(CONF_HOST)) + username = str(self.config.get_value(CONF_USERNAME)) + password = self.config.get_value(CONF_PASSWORD) + share = str(self.config.get_value(CONF_SHARE)) # handle optional subfolder - subfolder: str = self.config.get_value(CONF_SUBFOLDER) + subfolder = str(self.config.get_value(CONF_SUBFOLDER)) if subfolder: subfolder = subfolder.replace("\\", "/") if not subfolder.startswith("/"): @@ -198,7 +198,7 @@ class SMBFileSystemProvider(LocalFileSystemProvider): elif platform.system() == "Linux": options = ["rw"] - if mount_options := self.config.get_value(CONF_MOUNT_OPTIONS): + if mount_options := str(self.config.get_value(CONF_MOUNT_OPTIONS)): options += mount_options.split(",") options_str = ",".join(options) @@ -219,14 +219,14 @@ class SMBFileSystemProvider(LocalFileSystemProvider): self.logger.info("Mounting //%s/%s%s to %s", server, share, subfolder, self.base_path) self.logger.debug( "Using mount command: %s", - [m.replace(password, "########") if password else m for m in mount_cmd], + [m.replace(str(password), "########") if password else m for m in mount_cmd], ) env_vars = { **os.environ, "USER": username, } if password: - env_vars["PASSWD"] = password + env_vars["PASSWD"] = str(password) returncode, output = await check_output(*mount_cmd, env=env_vars) if returncode != 0: diff --git a/mypy.ini b/mypy.ini index 128a6ce9..2bb91c5f 100644 --- a/mypy.ini +++ b/mypy.ini @@ -21,4 +21,4 @@ disallow_untyped_decorators = true disallow_untyped_defs = true warn_return_any = true warn_unreachable = true -packages=tests,music_assistant.client,music_assistant.common,music_assistant.server.providers.builtin,music_assistant.server.providers.filesystem_local,music_assistant.server.providers.jellyfin,music_assistant.server.providers.radiobrowser +packages=tests,music_assistant.client,music_assistant.common,music_assistant.server.providers.builtin,music_assistant.server.providers.filesystem_local,music_assistant.server.providers.filesystem_smb,music_assistant.server.providers.jellyfin,music_assistant.server.providers.radiobrowser