Restored custom input prompts, fixed "add folder" not using new entry name fetcher, made all input prompts serve entry list

This commit is contained in:
2022-06-17 02:18:23 -04:00
parent 758e9f331c
commit 80b6b4abd2
+14 -23
View File
@@ -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)