From e68832a889e7c8d429e1971d7942ac980b1c2db2 Mon Sep 17 00:00:00 2001 From: Christopher Fenner <9592452+CFenner@users.noreply.github.com> Date: Sat, 22 Jul 2023 17:23:01 +0200 Subject: [PATCH] Fix Vicare cleanup token file on uninstall (#95992) --- homeassistant/components/vicare/__init__.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/homeassistant/components/vicare/__init__.py b/homeassistant/components/vicare/__init__.py index b177a4c524f..269695a668d 100644 --- a/homeassistant/components/vicare/__init__.py +++ b/homeassistant/components/vicare/__init__.py @@ -2,8 +2,10 @@ from __future__ import annotations from collections.abc import Callable +from contextlib import suppress from dataclasses import dataclass import logging +import os from PyViCare.PyViCare import PyViCare from PyViCare.PyViCareDevice import Device @@ -25,6 +27,7 @@ from .const import ( ) _LOGGER = logging.getLogger(__name__) +_TOKEN_FILENAME = "vicare_token.save" @dataclass() @@ -64,7 +67,7 @@ def vicare_login(hass, entry_data): entry_data[CONF_USERNAME], entry_data[CONF_PASSWORD], entry_data[CONF_CLIENT_ID], - hass.config.path(STORAGE_DIR, "vicare_token.save"), + hass.config.path(STORAGE_DIR, _TOKEN_FILENAME), ) return vicare_api @@ -93,4 +96,9 @@ async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: if unload_ok: hass.data[DOMAIN].pop(entry.entry_id) + with suppress(FileNotFoundError): + await hass.async_add_executor_job( + os.remove, hass.config.path(STORAGE_DIR, _TOKEN_FILENAME) + ) + return unload_ok