[~] 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'))
|
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):
|
class Command(enum.StrEnum):
|
||||||
media = 'media'
|
media = 'media'
|
||||||
@ -3749,6 +3792,7 @@ class Command(enum.StrEnum):
|
|||||||
pm_service = 'pm-service'
|
pm_service = 'pm-service'
|
||||||
scrap_yt_music = 'scrap-yt-music'
|
scrap_yt_music = 'scrap-yt-music'
|
||||||
vpn = 'vpn'
|
vpn = 'vpn'
|
||||||
|
backup = 'backup'
|
||||||
|
|
||||||
def commands_cli() -> None:
|
def commands_cli() -> None:
|
||||||
logging.getLogger().setLevel(logging.INFO)
|
logging.getLogger().setLevel(logging.INFO)
|
||||||
@ -3824,6 +3868,8 @@ def commands_cli() -> None:
|
|||||||
desktop_services(args)
|
desktop_services(args)
|
||||||
elif options.command is Command.pm_service:
|
elif options.command is Command.pm_service:
|
||||||
pm_service(args)
|
pm_service(args)
|
||||||
|
elif options.command is Command.backup:
|
||||||
|
backup(args)
|
||||||
elif options.command is Command.scrap_yt_music:
|
elif options.command is Command.scrap_yt_music:
|
||||||
scrap_yt_music(args)
|
scrap_yt_music(args)
|
||||||
elif options.command is Command.vpn:
|
elif options.command is Command.vpn:
|
||||||
|
Loading…
Reference in New Issue
Block a user