[~] Refactor
This commit is contained in:
parent
5c69e922a7
commit
62f4d9f948
@ -3726,6 +3726,49 @@ def install(argv: list[str]) -> None:
|
||||
|
||||
logger.info(dict(msg='done'))
|
||||
|
||||
def backup(argv: list[str]) -> None:
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument(
|
||||
'-r', '--recipients',
|
||||
#type=list[str],
|
||||
action='append',
|
||||
default=[],
|
||||
)
|
||||
parser.add_argument(
|
||||
'-o', '--output_dir',
|
||||
#type=list[str],
|
||||
required=True,
|
||||
)
|
||||
|
||||
options, args = parser.parse_known_args(argv)
|
||||
|
||||
assert len(options.recipients) > 0
|
||||
|
||||
subprocess.check_call(r'''
|
||||
(\
|
||||
mkdir -p ~/.cache/; \
|
||||
P=~/.cache/"secrets-$(date -Iseconds).tar.xz.gpg"; \
|
||||
tar -J -cvf - ~/.gnupg ~/.ssh ~/.histfile | \
|
||||
gpg -e {GPG_ARGS} > $P; \
|
||||
echo $P; \
|
||||
sudo -E P=$P sh -c \
|
||||
'\
|
||||
mkdir -p {OUTPUT_DIR}; \
|
||||
cp $P {OUTPUT_DIR};
|
||||
';\
|
||||
sync; \
|
||||
)
|
||||
'''.replace(
|
||||
'{GPG_ARGS}',
|
||||
' '.join([
|
||||
'-r %s' % o
|
||||
for o in options.recipients
|
||||
]),
|
||||
).replace(
|
||||
'{OUTPUT_DIR}',
|
||||
options.output_dir,
|
||||
), shell=True)
|
||||
|
||||
|
||||
class Command(enum.StrEnum):
|
||||
media = 'media'
|
||||
@ -3749,6 +3792,7 @@ class Command(enum.StrEnum):
|
||||
pm_service = 'pm-service'
|
||||
scrap_yt_music = 'scrap-yt-music'
|
||||
vpn = 'vpn'
|
||||
backup = 'backup'
|
||||
|
||||
def commands_cli() -> None:
|
||||
logging.getLogger().setLevel(logging.INFO)
|
||||
@ -3824,6 +3868,8 @@ def commands_cli() -> None:
|
||||
desktop_services(args)
|
||||
elif options.command is Command.pm_service:
|
||||
pm_service(args)
|
||||
elif options.command is Command.backup:
|
||||
backup(args)
|
||||
elif options.command is Command.scrap_yt_music:
|
||||
scrap_yt_music(args)
|
||||
elif options.command is Command.vpn:
|
||||
|
Loading…
Reference in New Issue
Block a user