mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-02 07:18:25 +01:00
45 lines
1.3 KiB
Python
45 lines
1.3 KiB
Python
import dvc.prompt as prompt
|
|
import dvc.logger as logger
|
|
from dvc.command.base import CmdBase
|
|
from dvc.exceptions import DvcException
|
|
|
|
|
|
class CmdDestroy(CmdBase):
|
|
def run_cmd(self):
|
|
try:
|
|
statement = (
|
|
'This will destroy all information about your pipelines,'
|
|
' all data files, as well as cache in .dvc/cache.'
|
|
'\n'
|
|
'Are you sure you want to continue?'
|
|
)
|
|
|
|
if not self.args.force and not prompt.confirm(statement):
|
|
raise DvcException(
|
|
"cannot destroy without a confirmation from the user."
|
|
" Use '-f' to force."
|
|
)
|
|
|
|
self.project.destroy()
|
|
except Exception:
|
|
logger.error('failed to destroy DVC')
|
|
return 1
|
|
return 0
|
|
|
|
|
|
def add_parser(subparsers, parent_parser):
|
|
DESTROY_HELP = "Destroy dvc. Will remove all project's information, " \
|
|
"data files and cache."
|
|
destroy_parser = subparsers.add_parser(
|
|
'destroy',
|
|
parents=[parent_parser],
|
|
description=DESTROY_HELP,
|
|
help=DESTROY_HELP)
|
|
destroy_parser.add_argument(
|
|
'-f',
|
|
'--force',
|
|
action='store_true',
|
|
default=False,
|
|
help='Force destruction.')
|
|
destroy_parser.set_defaults(func=CmdDestroy)
|