Remove deprecated state from backup schedule (#150114)

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
This commit is contained in:
G Johansson
2025-08-07 18:42:53 +02:00
committed by GitHub
parent ff9e2a8f1e
commit 704edac9fd
6 changed files with 1 additions and 67 deletions

View File

@@ -127,7 +127,6 @@ class BackupConfigData:
schedule=BackupSchedule(
days=days,
recurrence=ScheduleRecurrence(data["schedule"]["recurrence"]),
state=ScheduleState(data["schedule"].get("state", ScheduleState.NEVER)),
time=time,
),
)
@@ -453,7 +452,6 @@ class StoredBackupSchedule(TypedDict):
days: list[Day]
recurrence: ScheduleRecurrence
state: ScheduleState
time: str | None
@@ -462,7 +460,6 @@ class ScheduleParametersDict(TypedDict, total=False):
days: list[Day]
recurrence: ScheduleRecurrence
state: ScheduleState
time: dt.time | None
@@ -486,32 +483,12 @@ class ScheduleRecurrence(StrEnum):
CUSTOM_DAYS = "custom_days"
class ScheduleState(StrEnum):
"""Represent the schedule recurrence.
This is deprecated and can be remove in HA Core 2025.8.
"""
NEVER = "never"
DAILY = "daily"
MONDAY = "mon"
TUESDAY = "tue"
WEDNESDAY = "wed"
THURSDAY = "thu"
FRIDAY = "fri"
SATURDAY = "sat"
SUNDAY = "sun"
@dataclass(kw_only=True)
class BackupSchedule:
"""Represent the backup schedule."""
days: list[Day] = field(default_factory=list)
recurrence: ScheduleRecurrence = ScheduleRecurrence.NEVER
# Although no longer used, state is kept for backwards compatibility.
# It can be removed in HA Core 2025.8.
state: ScheduleState = ScheduleState.NEVER
time: dt.time | None = None
cron_event: CronSim | None = field(init=False, default=None)
next_automatic_backup: datetime | None = field(init=False, default=None)
@@ -610,7 +587,6 @@ class BackupSchedule:
return StoredBackupSchedule(
days=self.days,
recurrence=self.recurrence,
state=self.state,
time=self.time.isoformat() if self.time else None,
)

View File

@@ -331,9 +331,6 @@ async def handle_config_info(
"""Send the stored backup config."""
manager = hass.data[DATA_MANAGER]
config = manager.config.data.to_dict()
# Remove state from schedule, it's not needed in the frontend
# mypy doesn't like deleting from TypedDict, ignore it
del config["schedule"]["state"] # type: ignore[misc]
connection.send_result(
msg["id"],
{

View File

@@ -31,7 +31,6 @@
'days': list([
]),
'recurrence': 'never',
'state': 'never',
'time': None,
}),
}),

View File

@@ -88,7 +88,6 @@
'days': list([
]),
'recurrence': 'never',
'state': 'never',
'time': None,
}),
}),
@@ -187,7 +186,6 @@
'days': list([
]),
'recurrence': 'never',
'state': 'never',
'time': None,
}),
}),
@@ -306,7 +304,6 @@
'days': list([
]),
'recurrence': 'never',
'state': 'never',
'time': None,
}),
}),
@@ -413,7 +410,6 @@
'days': list([
]),
'recurrence': 'never',
'state': 'never',
'time': None,
}),
}),
@@ -520,7 +516,6 @@
'days': list([
]),
'recurrence': 'never',
'state': 'never',
'time': None,
}),
}),
@@ -633,7 +628,6 @@
'days': list([
]),
'recurrence': 'never',
'state': 'never',
'time': None,
}),
}),
@@ -758,7 +752,6 @@
'days': list([
]),
'recurrence': 'never',
'state': 'never',
'time': None,
}),
}),

View File

@@ -1306,7 +1306,6 @@
'days': list([
]),
'recurrence': 'never',
'state': 'never',
'time': None,
}),
}),
@@ -1423,7 +1422,6 @@
'days': list([
]),
'recurrence': 'daily',
'state': 'never',
'time': None,
}),
}),
@@ -1540,7 +1538,6 @@
'days': list([
]),
'recurrence': 'daily',
'state': 'never',
'time': None,
}),
}),
@@ -1671,7 +1668,6 @@
'days': list([
]),
'recurrence': 'never',
'state': 'never',
'time': None,
}),
}),
@@ -1949,7 +1945,6 @@
'days': list([
]),
'recurrence': 'never',
'state': 'never',
'time': None,
}),
}),
@@ -2064,7 +2059,6 @@
'days': list([
]),
'recurrence': 'never',
'state': 'never',
'time': None,
}),
}),
@@ -2179,7 +2173,6 @@
'days': list([
]),
'recurrence': 'never',
'state': 'never',
'time': None,
}),
}),
@@ -2296,7 +2289,6 @@
'days': list([
]),
'recurrence': 'daily',
'state': 'never',
'time': '06:00:00',
}),
}),
@@ -2415,7 +2407,6 @@
'mon',
]),
'recurrence': 'custom_days',
'state': 'never',
'time': None,
}),
}),
@@ -2532,7 +2523,6 @@
'days': list([
]),
'recurrence': 'never',
'state': 'never',
'time': None,
}),
}),
@@ -2653,7 +2643,6 @@
'sun',
]),
'recurrence': 'custom_days',
'state': 'never',
'time': None,
}),
}),
@@ -2778,7 +2767,6 @@
'days': list([
]),
'recurrence': 'daily',
'state': 'never',
'time': None,
}),
}),
@@ -2895,7 +2883,6 @@
'days': list([
]),
'recurrence': 'daily',
'state': 'never',
'time': None,
}),
}),
@@ -3012,7 +2999,6 @@
'days': list([
]),
'recurrence': 'daily',
'state': 'never',
'time': None,
}),
}),
@@ -3129,7 +3115,6 @@
'days': list([
]),
'recurrence': 'daily',
'state': 'never',
'time': None,
}),
}),
@@ -3246,7 +3231,6 @@
'days': list([
]),
'recurrence': 'daily',
'state': 'never',
'time': None,
}),
}),

View File

@@ -76,7 +76,7 @@ DEFAULT_STORAGE_DATA: dict[str, Any] = {
"copies": None,
"days": None,
},
"schedule": {"days": [], "recurrence": "never", "state": "never", "time": None},
"schedule": {"days": [], "recurrence": "never", "time": None},
},
}
DAILY = ["mon", "tue", "wed", "thu", "fri", "sat", "sun"]
@@ -1009,7 +1009,6 @@ async def test_agents_info(
"schedule": {
"days": DAILY,
"recurrence": "custom_days",
"state": "never",
"time": None,
},
},
@@ -1041,7 +1040,6 @@ async def test_agents_info(
"schedule": {
"days": [],
"recurrence": "never",
"state": "never",
"time": None,
},
},
@@ -1073,7 +1071,6 @@ async def test_agents_info(
"schedule": {
"days": [],
"recurrence": "never",
"state": "never",
"time": None,
},
},
@@ -1105,7 +1102,6 @@ async def test_agents_info(
"schedule": {
"days": ["mon"],
"recurrence": "custom_days",
"state": "never",
"time": None,
},
},
@@ -1137,7 +1133,6 @@ async def test_agents_info(
"schedule": {
"days": [],
"recurrence": "never",
"state": "never",
"time": None,
},
},
@@ -1169,7 +1164,6 @@ async def test_agents_info(
"schedule": {
"days": ["mon", "sun"],
"recurrence": "custom_days",
"state": "never",
"time": None,
},
},
@@ -1204,7 +1198,6 @@ async def test_agents_info(
"schedule": {
"days": ["mon", "sun"],
"recurrence": "custom_days",
"state": "never",
"time": None,
},
},
@@ -1236,7 +1229,6 @@ async def test_agents_info(
"schedule": {
"days": [],
"recurrence": "never",
"state": "never",
"time": None,
},
},
@@ -1268,7 +1260,6 @@ async def test_agents_info(
"schedule": {
"days": [],
"recurrence": "never",
"state": "never",
"time": None,
},
},
@@ -1309,7 +1300,6 @@ async def test_agents_info(
"schedule": {
"days": ["mon", "sun"],
"recurrence": "custom_days",
"state": "never",
"time": None,
},
},
@@ -1960,7 +1950,6 @@ async def test_config_schedule_logic(
"schedule": {
"days": [],
"recurrence": "daily",
"state": "never",
"time": None,
},
},
@@ -2870,7 +2859,6 @@ async def test_config_retention_copies_logic(
"schedule": {
"days": [],
"recurrence": "daily",
"state": "never",
"time": None,
},
},
@@ -3149,7 +3137,6 @@ async def test_config_retention_copies_logic_manual_backup(
"schedule": {
"days": [],
"recurrence": "daily",
"state": "never",
"time": None,
},
},
@@ -3814,7 +3801,6 @@ async def test_config_retention_days_logic(
"schedule": {
"days": [],
"recurrence": "never",
"state": "never",
"time": None,
},
},
@@ -3886,7 +3872,6 @@ async def test_configured_agents_unavailable_repair(
"schedule": {
"days": ["mon"],
"recurrence": "custom_days",
"state": "never",
"time": None,
},
},