mirror of
https://github.com/rwinkhart/sshyp.git
synced 2026-08-28 04:46:34 -04:00
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:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user