mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-11 23:10:10 +01:00
* cli: split main_parser * cli: basic parser tree printing * cli: major completion tidy * completion: more missing root commands * completion: much automagic such beauty - fixes #2985 automatically generate bash completion * tests: bash completion * tests: completion: tidy script a little * minor tidy * command: positional name consistency * completion: bash: add logging * double-check renames and consistency * cli: add completion subcommand * ci: completion: update test * minor logging * more completion logging verbosity * fix completion of files * add shtab * purge unneeded completion => shtab * completion: neaten UI * completion: use `shtab>=0.0.2` * completion: purge hardcoded completions! * revert unneeded renames for now * fix isort * completion: tidy CLI API * fix snap build * fix snap build again * snap: internally build completion * allow repo-less completion * command: tidy headless logic * use CmdBaseNoRepo * better DVC-file completion * merge command.choices -> command.completion * drop choices class * remove completion optionals * tidy docs
48 lines
1.4 KiB
Python
48 lines
1.4 KiB
Python
import argparse
|
|
import logging
|
|
|
|
from dvc.command import completion
|
|
from dvc.command.base import CmdBase, append_doc_link
|
|
from dvc.exceptions import DvcException
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
class CmdMove(CmdBase):
|
|
def run(self):
|
|
try:
|
|
self.repo.move(self.args.src, self.args.dst)
|
|
except DvcException:
|
|
msg = "failed to move '{}' -> '{}'".format(
|
|
self.args.src, self.args.dst
|
|
)
|
|
logger.exception(msg)
|
|
return 1
|
|
return 0
|
|
|
|
|
|
def add_parser(subparsers, parent_parser):
|
|
MOVE_HELP = "Rename or move a DVC controlled data file or a directory."
|
|
MOVE_DESCRIPTION = (
|
|
"Rename or move a DVC controlled data file or a directory.\n"
|
|
"It renames and modifies the corresponding DVC-file to reflect the"
|
|
" changes."
|
|
)
|
|
|
|
move_parser = subparsers.add_parser(
|
|
"move",
|
|
parents=[parent_parser],
|
|
description=append_doc_link(MOVE_DESCRIPTION, "move"),
|
|
help=MOVE_HELP,
|
|
formatter_class=argparse.RawDescriptionHelpFormatter,
|
|
)
|
|
move_parser.add_argument(
|
|
"src",
|
|
help="Source path to a data file or directory.",
|
|
choices=completion.Required.FILE,
|
|
)
|
|
move_parser.add_argument(
|
|
"dst", help="Destination path.", choices=completion.Required.FILE,
|
|
)
|
|
move_parser.set_defaults(func=CmdMove)
|