[FIX] dumpdb: error when using force
This commit is contained in:
parent
f130ecf078
commit
757cc19576
|
|
@ -1,4 +1,5 @@
|
|||
from pathlib import Path
|
||||
import pathlib
|
||||
import shutil
|
||||
|
||||
import click
|
||||
|
||||
|
|
@ -52,14 +53,8 @@ def dumpdb(
|
|||
force,
|
||||
):
|
||||
"""Create an dump of an Odoo database and its filestore."""
|
||||
database_path = Path(database_path)
|
||||
filestore_path = Path(filestore_path)
|
||||
|
||||
# Fail if dumps already exists and force argument not given
|
||||
if not force and database_path.exists():
|
||||
ctx.fail(f"{database_path} exists, use --force to overwrite it.")
|
||||
if not force and filestore_path.exists():
|
||||
ctx.fail(f"{filestore_path} exists, use --force to overwrite it.")
|
||||
database_path = pathlib.Path(database_path)
|
||||
filestore_path = pathlib.Path(filestore_path)
|
||||
|
||||
# Check that database_path is inside the env_folder_path
|
||||
absolute_database_path = database_path.absolute()
|
||||
|
|
@ -72,6 +67,24 @@ def dumpdb(
|
|||
"postgresql to write to it."
|
||||
)
|
||||
|
||||
# Fail if dumps already exists and force argument not given
|
||||
# Remove file if already exists and force is given
|
||||
if not force and database_path.exists():
|
||||
ctx.fail(f"{database_path} exists, use --force to overwrite it.")
|
||||
elif force and database_path.exists():
|
||||
if database_path.is_dir():
|
||||
shutil.rmtree(database_path)
|
||||
else:
|
||||
database_path.unlink()
|
||||
|
||||
if not force and filestore_path.exists():
|
||||
ctx.fail(f"{filestore_path} exists, use --force to overwrite it.")
|
||||
elif force and filestore_path.exists():
|
||||
if filestore_path.is_dir():
|
||||
shutil.rmtree(filestore_path)
|
||||
else:
|
||||
filestore_path.unlink()
|
||||
|
||||
# Normalise database_path
|
||||
database_path = absolute_database_path.relative_to(
|
||||
absolute_env_folder_path
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user