jw-pkg/src/python/jw/pkg/cmds/posix/CmdCopy.py

27 lines
1 KiB
Python
Raw Normal View History

# -*- coding: utf-8 -*-
from __future__ import annotations
from typing import TYPE_CHECKING
from ...lib.util import copy
from .Cmd import Cmd
if TYPE_CHECKING:
from ..CmdPosix import CmdPosix
from argparse import Namespace, ArgumentParser
class CmdCopy(Cmd): # export
def __init__(self, parent: CmdPosix) -> None:
super().__init__(parent, 'copy', help="Copy files")
def add_arguments(self, parser: ArgumentParser) -> None:
super().add_arguments(parser)
parser.add_argument('src', help='Source file URI')
parser.add_argument('dst', help='Destination file URI')
parser.add_argument('-o', '--owner', default=None, help='Destination file owner')
parser.add_argument('-g', '--group', default=None, help='Destination file group')
parser.add_argument('-m', '--mode', default=None, help='Destination file mode')
async def _run(self, args: Namespace) -> None:
await copy(args.src, args.dst, owner=args.owner, group=args.group, mode=args.mode)