diff --git a/bin/sshyp b/bin/sshyp index 0c74a9c..350f951 100755 --- a/bin/sshyp +++ b/bin/sshyp @@ -92,8 +92,9 @@ def replace_line(file_name, line_num, text): # replaces text in a given line wi def entry_name_fetch(_entry_name_location): - if _entry_name_location == -1: - _entry_name = str(input('entry name: ')) + if type(_entry_name_location) == str: + entry_list_gen() + _entry_name = str(input(_entry_name_location)) elif _entry_name_location == 0: _entry_name = argument else: @@ -348,8 +349,7 @@ def print_info(): # prints help text based on argument def no_arg(): # displays a list of entries and gives an option to select one for viewing print("\nfor a list of usable commands, run 'sshyp help'") - entry_list_gen() - _entry_name = entry_name_fetch(-1) + _entry_name = entry_name_fetch('entry to read: ') if not Path(f"{directory}{_entry_name}.gpg").exists(): print(f"\n\u001b[38;5;9merror: entry ({_entry_name}) does not exist\u001b[0m\n") s_exit(1) @@ -426,7 +426,7 @@ def sync(): # calls sshync to sync changes to the user's server def add_entry(): # adds a new entry _shm_folder, _shm_entry = None, None # sets base-line values to avoid errors if len(argument_list) < 3: - _entry_name = entry_name_fetch(-1) + _entry_name = entry_name_fetch('\nname of entry: ') else: _entry_name = entry_name_fetch(2) if argument_list[1] == 'note' or argument_list[1] == '-n': @@ -453,22 +453,17 @@ def add_entry(): # adds a new entry def add_folder(): # creates a new folder - if argument == 'add folder' or argument == 'add -f': - _folder_name = str(input('name of new folder: ')) + if len(argument_list) < 3: + _entry_name = entry_name_fetch('name of new folder: ') else: - _folder_name = argument.split(' ') - del _folder_name[:2] - _folder_name = ' '.join(_folder_name) - if _folder_name.startswith('/'): - _folder_name = _folder_name.replace('/', '', 1) - Path(directory + _folder_name).mkdir(0o700) + _entry_name = entry_name_fetch(2) + Path(directory + _entry_name).mkdir(0o700) system(f"ssh -i '{path.expanduser('~/.ssh/sshyp')}' -p {port} {username_ssh}@{ip} \"mkdir -p '{directory_ssh}" - f"{_folder_name}'\"") + f"{_entry_name}'\"") def rename(): # renames an entry or folder if argument == 'edit rename' or argument == 'edit relocate' or argument == 'edit -r': - entry_list_gen() _entry_name = str(input('entry/folder to rename/relocate: ')) else: _entry_name = argument.split(' ') @@ -493,8 +488,7 @@ def rename(): # renames an entry or folder def edit(): # edits the contents of an entry _shm_folder, _shm_entry = None, None # sets base-line values to avoid errors if len(argument_list) < 3: - entry_list_gen() - _entry_name = entry_name_fetch(-1) + _entry_name = entry_name_fetch('entry to edit: ') else: _entry_name = entry_name_fetch(2) if not Path(f"{directory}{_entry_name}.gpg").is_file(): @@ -530,8 +524,7 @@ def edit(): # edits the contents of an entry def gen(): # generates a password for a new or an existing entry _username, _url, _notes = None, None, None # sets base-line values to avoid errors if argument == 'gen update' or argument == 'gen -u' or argument == 'gen': - entry_list_gen() - _entry_name = entry_name_fetch(-1) + _entry_name = entry_name_fetch('name of entry: ') elif argument_list[1] == 'update' or argument_list[1] == '-u': _entry_name = entry_name_fetch(2) if not Path(f"{directory}{_entry_name}.gpg").is_file(): @@ -567,8 +560,7 @@ def gen(): # generates a password for a new or an existing entry def copy_data(): # copies a specified field of an entry to the clipboard if len(argument_list) < 3: - entry_list_gen() - _entry_name = entry_name_fetch(-1) + _entry_name = entry_name_fetch('entry to copy: ') else: _entry_name = entry_name_fetch(2) if not Path(f"{directory}{_entry_name}.gpg").is_file(): @@ -622,8 +614,7 @@ def copy_data(): # copies a specified field of an entry to the clipboard def remove_data(): # deletes an entry from the server and flags it for local deletion on sync if argument == 'shear' or argument == '-rm': - entry_list_gen() - _entry_name = entry_name_fetch(-1) + _entry_name = entry_name_fetch('entry/folder to shear: ') else: _entry_name = entry_name_fetch(1) decrypt(path.expanduser('~/.config/sshyp/lock.gpg'), 0, 0)