mirror of
https://github.com/home-assistant/supervisor.git
synced 2025-07-23 00:56:29 +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_ADDONS): vol.All([vol.Coerce(str)], vol.Unique()),
|
||||||
vol.Optional(ATTR_FOLDERS): vol.All([vol.In(ALL_FOLDERS)], 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 snapshot object."""
|
||||||
return self.snapshots_obj.get(slug)
|
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."""
|
"""Initialize a new snapshot object from name."""
|
||||||
date_str = utcnow().isoformat()
|
date_str = utcnow().isoformat()
|
||||||
slug = create_slug(name, date_str)
|
slug = create_slug(name, date_str)
|
||||||
@ -44,6 +44,7 @@ class SnapshotManager(CoreSysAttributes):
|
|||||||
snapshot.new(slug, name, date_str, sys_type, password)
|
snapshot.new(slug, name, date_str, sys_type, password)
|
||||||
|
|
||||||
# set general data
|
# set general data
|
||||||
|
if homeassistant:
|
||||||
snapshot.store_homeassistant()
|
snapshot.store_homeassistant()
|
||||||
snapshot.store_repositories()
|
snapshot.store_repositories()
|
||||||
snapshot.store_dockerconfig()
|
snapshot.store_dockerconfig()
|
||||||
@ -160,7 +161,7 @@ class SnapshotManager(CoreSysAttributes):
|
|||||||
|
|
||||||
@Job(conditions=[JobCondition.FREE_SPACE, JobCondition.RUNNING])
|
@Job(conditions=[JobCondition.FREE_SPACE, JobCondition.RUNNING])
|
||||||
async def do_snapshot_partial(
|
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."""
|
"""Create a partial snapshot."""
|
||||||
if self.lock.locked():
|
if self.lock.locked():
|
||||||
@ -169,7 +170,14 @@ class SnapshotManager(CoreSysAttributes):
|
|||||||
|
|
||||||
addons = addons or []
|
addons = addons or []
|
||||||
folders = folders 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)
|
_LOGGER.info("Creating new partial-snapshot with slug %s", snapshot.slug)
|
||||||
try:
|
try:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user