mirror of
https://github.com/home-assistant/supervisor.git
synced 2025-07-21 16:16:31 +00:00
Make homeassistant optional in partial snapshot (#2635)
This commit is contained in:
parent
9e1239e192
commit
be226b2b01
@ -59,6 +59,7 @@ SCHEMA_SNAPSHOT_PARTIAL = SCHEMA_SNAPSHOT_FULL.extend(
|
||||
{
|
||||
vol.Optional(ATTR_ADDONS): vol.All([vol.Coerce(str)], vol.Unique()),
|
||||
vol.Optional(ATTR_FOLDERS): vol.All([vol.In(ALL_FOLDERS)], vol.Unique()),
|
||||
vol.Optional(ATTR_HOMEASSISTANT): vol.Boolean(),
|
||||
}
|
||||
)
|
||||
|
||||
|
@ -33,7 +33,7 @@ class SnapshotManager(CoreSysAttributes):
|
||||
"""Return snapshot object."""
|
||||
return self.snapshots_obj.get(slug)
|
||||
|
||||
def _create_snapshot(self, name, sys_type, password):
|
||||
def _create_snapshot(self, name, sys_type, password, homeassistant=True):
|
||||
"""Initialize a new snapshot object from name."""
|
||||
date_str = utcnow().isoformat()
|
||||
slug = create_slug(name, date_str)
|
||||
@ -44,9 +44,10 @@ class SnapshotManager(CoreSysAttributes):
|
||||
snapshot.new(slug, name, date_str, sys_type, password)
|
||||
|
||||
# set general data
|
||||
snapshot.store_homeassistant()
|
||||
snapshot.store_repositories()
|
||||
snapshot.store_dockerconfig()
|
||||
if homeassistant:
|
||||
snapshot.store_homeassistant()
|
||||
snapshot.store_repositories()
|
||||
snapshot.store_dockerconfig()
|
||||
|
||||
return snapshot
|
||||
|
||||
@ -160,7 +161,7 @@ class SnapshotManager(CoreSysAttributes):
|
||||
|
||||
@Job(conditions=[JobCondition.FREE_SPACE, JobCondition.RUNNING])
|
||||
async def do_snapshot_partial(
|
||||
self, name="", addons=None, folders=None, password=None
|
||||
self, name="", addons=None, folders=None, password=None, homeassistant=True
|
||||
):
|
||||
"""Create a partial snapshot."""
|
||||
if self.lock.locked():
|
||||
@ -169,7 +170,14 @@ class SnapshotManager(CoreSysAttributes):
|
||||
|
||||
addons = addons or []
|
||||
folders = folders or []
|
||||
snapshot = self._create_snapshot(name, SNAPSHOT_PARTIAL, password)
|
||||
|
||||
if len(addons) == 0 and len(folders) == 0 and not homeassistant:
|
||||
_LOGGER.error("Nothing to create snapshot for")
|
||||
return
|
||||
|
||||
snapshot = self._create_snapshot(
|
||||
name, SNAPSHOT_PARTIAL, password, homeassistant
|
||||
)
|
||||
|
||||
_LOGGER.info("Creating new partial-snapshot with slug %s", snapshot.slug)
|
||||
try:
|
||||
|
Loading…
x
Reference in New Issue
Block a user