Fixed accidental overwriting when creating a new file of a name that is already present + some fixes for renaming and generating

This commit is contained in:
2022-06-20 03:08:08 -04:00
parent 1860edaccf
commit a06fc38968
+19 -4
View File
@@ -379,7 +379,7 @@ def sync(): # calls sshync to sync changes to the user's server
try:
_deletion_database = open(path.expanduser('~/.config/sshyp/deletion_database')).readlines()
except (FileNotFoundError, IndexError):
print('\n\u001b[38;5;9merror: the deletion database does not exist or is corrupted.\u001b[0m\n')
print('\n\u001b[38;5;9merror: the deletion database does not exist or is corrupted\u001b[0m\n')
_deletion_database = None
s_exit(1)
for _file in _deletion_database:
@@ -407,7 +407,7 @@ def sync(): # calls sshync to sync changes to the user's server
try:
_folder_database = open(path.expanduser('~/.config/sshyp/folder_database')).readlines()
except (FileNotFoundError, IndexError):
print('\n\u001b[38;5;9merror: the folder database does not exist or is corrupted.\u001b[0m\n')
print('\n\u001b[38;5;9merror: the folder database does not exist or is corrupted\u001b[0m\n')
_folder_database = None
s_exit(1)
for _folder in _folder_database:
@@ -429,6 +429,9 @@ def add_entry(): # adds a new entry
_entry_name = entry_name_fetch('name of new entry: ')
else:
_entry_name = entry_name_fetch(2)
if Path(f"{directory}{_entry_name}.gpg").is_file():
print(f"\n\u001b[38;5;9merror: entry ({_entry_name}) already exists\u001b[0m\n")
s_exit(1)
if argument_list[1] == 'note' or argument_list[1] == '-n':
_shm_folder, _shm_entry = shm_gen()
system(f"nano {tmp_dir}{_shm_folder}/{_shm_entry}-n")
@@ -467,10 +470,14 @@ def rename(): # renames an entry or folder
_entry_name = entry_name_fetch('entry/folder to rename/relocate: ')
else:
_entry_name = entry_name_fetch(2)
if not Path(f"{directory}{_entry_name}.gpg").exists():
if not Path(f"{directory}{_entry_name}.gpg").is_file() and not Path(f"{directory}{_entry_name}").is_dir():
print(f"\n\u001b[38;5;9merror: entry ({_entry_name}) does not exist\u001b[0m\n")
s_exit(1)
_new_name = str(input('new name: '))
print(f"{directory}{_new_name}")
if Path(f"{directory}{_new_name}.gpg").is_file() or Path(f"{directory}{_new_name}").is_dir():
print(f"\n\u001b[38;5;9merror: ({_new_name}) already exists\u001b[0m\n")
s_exit(1)
if _entry_name.endswith('/'):
move(f"{directory}{_entry_name}", f"{directory}{_new_name}")
system(f"ssh -i '{path.expanduser('~/.ssh/sshyp')}' -p {port} {username_ssh}@{ip} \"mkdir -p '{directory_ssh}"
@@ -521,6 +528,11 @@ 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_name = entry_name_fetch('name of entry: ')
if argument == 'gen':
if Path(f"{directory}{_entry_name}.gpg").is_file():
print(f"\n\u001b[38;5;9merror: entry ({_entry_name}) already exists\u001b[0m\n")
s_exit(1)
_username = str(input('username: '))
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():
@@ -528,9 +540,12 @@ def gen(): # generates a password for a new or an existing entry
s_exit(1)
else:
_entry_name = entry_name_fetch(1)
if Path(f"{directory}{_entry_name}.gpg").is_file():
print(f"\n\u001b[38;5;9merror: entry ({_entry_name}) already exists\u001b[0m\n")
s_exit(1)
_username = str(input('username: '))
_password = pass_gen()
if not argument_list[1] == 'update' and not argument_list[1] == '-u':
if len(argument_list) > 1 and (not argument_list[1] == 'update' and not argument_list[1] == '-u'):
_url = str(input('url: '))
_add_note = input('add a note to this entry? (y/N) ')
_shm_folder, _shm_entry = shm_gen()