Доработка автозаполнения, использование pv для отображения прогресса

This commit is contained in:
Artem Bliznetsov 2024-04-18 22:38:34 +03:00
parent 302bea298e
commit 6bdb255bfa
4 changed files with 16 additions and 12 deletions

View File

@ -14,4 +14,4 @@ function _scp_path_completition()
}
complete -F _ssh_connector_completion ssh-helper
complete -F _scp_path_completition scp-helper
complete -o nospace -F _scp_path_completition scp-helper

View File

@ -1,7 +1,5 @@
import os
CMD_TAR_DECOMP='tar -xz'
CMD_TAR_COMP='tar -cz'
SUDO_REMOTE=True
def get_config():
@ -30,6 +28,9 @@ def parse_arg(s):
connection_name = 'local'
path = s
if path == '':
path = '/'
if path[0] not in ('/', '~', '.'):
if connection_name == 'local':
path = './' + path

View File

@ -6,7 +6,7 @@ import sys
import subprocess
from helperlib import get_config, parse_arg, add_sudo, make_ssh_cmd, get_path_config
DEBUG = True
DEBUG = False
SUDO_REMOTE = True
def get_conf_names():
@ -57,7 +57,8 @@ if __name__ == '__main__':
if DEBUG:
print(f'{cur_arg}', file=sys.stderr)
if cur_arg is not None and ':' in cur_arg:
comp_list = []
if cur_arg is not None:
# В нем уже прописали имя подключения
cur_set = get_path_config(cur_arg)
@ -69,7 +70,6 @@ if __name__ == '__main__':
print(f'{obj_list}', file=sys.stderr)
print(cur_set, file=sys.stderr)
comp_list = []
for i in obj_list.split('\n'):
i_res = ''
if cur_set['connection_name'] != 'local':
@ -86,11 +86,9 @@ if __name__ == '__main__':
if DEBUG:
print(f'{comp_list}', file=sys.stderr)
print(' '.join(comp_list))
else:
# Заполняем имя подключения
print('/ '.join(get_conf_names()))
comp_list.extend([f'{i}/' for i in get_conf_names()])
print(' '.join(comp_list))

View File

@ -7,6 +7,8 @@ import os
from helperlib import *
PV_ENABLED = True
if __name__ == '__main__':
parser = argparse.ArgumentParser(
description='Copy files'
@ -29,7 +31,10 @@ if __name__ == '__main__':
make_unpack_cmd
)
full_cmd = f'{in_cmd} | {out_cmd}'
if PV_ENABLED:
full_cmd = f'{in_cmd} | pv | {out_cmd}'
else:
full_cmd = f'{in_cmd} | {out_cmd}'
print("Будет выполнена команда:")
print(full_cmd)
print("продолжить (y/n)")