mirror of
https://github.com/esphome/esphome.git
synced 2025-04-13 14:20:29 +01:00
[dashboard] Rename trash/delete to archive (#8357)
This commit is contained in:
parent
10eacaccba
commit
d9e23fdb5c
@ -39,7 +39,12 @@ from yaml.nodes import Node
|
|||||||
|
|
||||||
from esphome import const, platformio_api, yaml_util
|
from esphome import const, platformio_api, yaml_util
|
||||||
from esphome.helpers import get_bool_env, mkdir_p
|
from esphome.helpers import get_bool_env, mkdir_p
|
||||||
from esphome.storage_json import StorageJSON, ext_storage_path, trash_storage_path
|
from esphome.storage_json import (
|
||||||
|
StorageJSON,
|
||||||
|
archive_storage_path,
|
||||||
|
ext_storage_path,
|
||||||
|
trash_storage_path,
|
||||||
|
)
|
||||||
from esphome.util import get_serial_ports, shlex_quote
|
from esphome.util import get_serial_ports, shlex_quote
|
||||||
from esphome.yaml_util import FastestAvailableSafeLoader
|
from esphome.yaml_util import FastestAvailableSafeLoader
|
||||||
|
|
||||||
@ -936,16 +941,16 @@ class EditRequestHandler(BaseHandler):
|
|||||||
self.set_status(200)
|
self.set_status(200)
|
||||||
|
|
||||||
|
|
||||||
class DeleteRequestHandler(BaseHandler):
|
class ArchiveRequestHandler(BaseHandler):
|
||||||
@authenticated
|
@authenticated
|
||||||
@bind_config
|
@bind_config
|
||||||
def post(self, configuration: str | None = None) -> None:
|
def post(self, configuration: str | None = None) -> None:
|
||||||
config_file = settings.rel_path(configuration)
|
config_file = settings.rel_path(configuration)
|
||||||
storage_path = ext_storage_path(configuration)
|
storage_path = ext_storage_path(configuration)
|
||||||
|
|
||||||
trash_path = trash_storage_path()
|
archive_path = archive_storage_path()
|
||||||
mkdir_p(trash_path)
|
mkdir_p(archive_path)
|
||||||
shutil.move(config_file, os.path.join(trash_path, configuration))
|
shutil.move(config_file, os.path.join(archive_path, configuration))
|
||||||
|
|
||||||
storage_json = StorageJSON.load(storage_path)
|
storage_json = StorageJSON.load(storage_path)
|
||||||
if storage_json is not None:
|
if storage_json is not None:
|
||||||
@ -953,16 +958,16 @@ class DeleteRequestHandler(BaseHandler):
|
|||||||
name = storage_json.name
|
name = storage_json.name
|
||||||
build_folder = os.path.join(settings.config_dir, name)
|
build_folder = os.path.join(settings.config_dir, name)
|
||||||
if build_folder is not None:
|
if build_folder is not None:
|
||||||
shutil.rmtree(build_folder, os.path.join(trash_path, name))
|
shutil.rmtree(build_folder, os.path.join(archive_path, name))
|
||||||
|
|
||||||
|
|
||||||
class UndoDeleteRequestHandler(BaseHandler):
|
class UnArchiveRequestHandler(BaseHandler):
|
||||||
@authenticated
|
@authenticated
|
||||||
@bind_config
|
@bind_config
|
||||||
def post(self, configuration: str | None = None) -> None:
|
def post(self, configuration: str | None = None) -> None:
|
||||||
config_file = settings.rel_path(configuration)
|
config_file = settings.rel_path(configuration)
|
||||||
trash_path = trash_storage_path()
|
archive_path = archive_storage_path()
|
||||||
shutil.move(os.path.join(trash_path, configuration), config_file)
|
shutil.move(os.path.join(archive_path, configuration), config_file)
|
||||||
|
|
||||||
|
|
||||||
class LoginHandler(BaseHandler):
|
class LoginHandler(BaseHandler):
|
||||||
@ -1203,8 +1208,10 @@ def make_app(debug=get_bool_env(ENV_DEV)) -> tornado.web.Application:
|
|||||||
(f"{rel}download.bin", DownloadBinaryRequestHandler),
|
(f"{rel}download.bin", DownloadBinaryRequestHandler),
|
||||||
(f"{rel}serial-ports", SerialPortRequestHandler),
|
(f"{rel}serial-ports", SerialPortRequestHandler),
|
||||||
(f"{rel}ping", PingRequestHandler),
|
(f"{rel}ping", PingRequestHandler),
|
||||||
(f"{rel}delete", DeleteRequestHandler),
|
(f"{rel}delete", ArchiveRequestHandler),
|
||||||
(f"{rel}undo-delete", UndoDeleteRequestHandler),
|
(f"{rel}undo-delete", UnArchiveRequestHandler),
|
||||||
|
(f"{rel}archive", ArchiveRequestHandler),
|
||||||
|
(f"{rel}unarchive", UnArchiveRequestHandler),
|
||||||
(f"{rel}wizard", WizardRequestHandler),
|
(f"{rel}wizard", WizardRequestHandler),
|
||||||
(f"{rel}static/(.*)", StaticFileHandler, {"path": get_static_path()}),
|
(f"{rel}static/(.*)", StaticFileHandler, {"path": get_static_path()}),
|
||||||
(f"{rel}devices", ListDevicesHandler),
|
(f"{rel}devices", ListDevicesHandler),
|
||||||
@ -1229,6 +1236,13 @@ def start_web_server(
|
|||||||
config_dir: str,
|
config_dir: str,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Start the web server listener."""
|
"""Start the web server listener."""
|
||||||
|
|
||||||
|
trash_path = trash_storage_path()
|
||||||
|
if os.path.exists(trash_path):
|
||||||
|
_LOGGER.info("Renaming 'trash' folder to 'archive'")
|
||||||
|
archive_path = archive_storage_path()
|
||||||
|
shutil.move(trash_path, archive_path)
|
||||||
|
|
||||||
if socket is None:
|
if socket is None:
|
||||||
_LOGGER.info(
|
_LOGGER.info(
|
||||||
"Starting dashboard web server on http://%s:%s and configuration dir %s...",
|
"Starting dashboard web server on http://%s:%s and configuration dir %s...",
|
||||||
|
@ -36,6 +36,10 @@ def trash_storage_path() -> str:
|
|||||||
return CORE.relative_config_path("trash")
|
return CORE.relative_config_path("trash")
|
||||||
|
|
||||||
|
|
||||||
|
def archive_storage_path() -> str:
|
||||||
|
return CORE.relative_config_path("archive")
|
||||||
|
|
||||||
|
|
||||||
class StorageJSON:
|
class StorageJSON:
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user