) -> 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)
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("/"):
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)
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:
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