cmds.posix.Tar: Add command
Add a "jw-pkg posix tar" command. Currently the only thing that can be done with it is extracting.
Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
parent
a5e7647026
commit
7357092576
4 changed files with 77 additions and 0 deletions
27
src/python/jw/pkg/cmds/posix/tar/CmdExtract.py
Normal file
27
src/python/jw/pkg/cmds/posix/tar/CmdExtract.py
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from argparse import Namespace, ArgumentParser
|
||||
|
||||
from .Cmd import Cmd
|
||||
from ..CmdTar import CmdTar
|
||||
|
||||
from ....lib.FileContext import FileContext
|
||||
|
||||
class CmdExtract(Cmd): # export
|
||||
|
||||
def __init__(self, parent: CmdTar) -> None:
|
||||
super().__init__(parent, 'x', help="Extract a tar archive")
|
||||
|
||||
def add_arguments(self, parser: ArgumentParser) -> None:
|
||||
super().add_arguments(parser)
|
||||
parser.add_argument('dst', help='Destination root URI')
|
||||
|
||||
async def _run(self, args: Namespace) -> None:
|
||||
async with self.ctx(
|
||||
dst_uri = args.dst,
|
||||
) as ctx:
|
||||
await ctx.extract(ctx.dst.root)
|
||||
Loading…
Add table
Add a link
Reference in a new issue