From b7c3535955decfa851f03455327299f7a7e4cc52 Mon Sep 17 00:00:00 2001 From: Randall Date: Wed, 20 Jul 2022 16:23:43 -0400 Subject: [PATCH] Exposed encrypt() function to be used by extensions Former-commit-id: a055f6359a1bd2b81191ef1ef7b5dfb9432f75b2 [formerly 033bbd59de82623a9a868aac45de8968951975af] Former-commit-id: 451bafbfaaec27086c8c6cb50cb918ca94cf5497 --- bin/sshyp.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/bin/sshyp.py b/bin/sshyp.py index 5ed1339..a080b74 100755 --- a/bin/sshyp.py +++ b/bin/sshyp.py @@ -136,9 +136,10 @@ def pass_gen(): # generates and returns a random password based on user-specifi return _gen -def encrypt(_shm_folder, _shm_entry, _location): # encrypts an entry and cleans up the temporary files - system(f"{gpg} -qr {str(gpg_id)} -e '{tmp_dir}{_shm_folder}/{_shm_entry}'") - move(f"{tmp_dir}{_shm_folder}/{_shm_entry}.gpg", f"{directory}{_location}.gpg") +def encrypt(_entry_dir, _shm_folder, _shm_entry, _gpg_command, _tmp_dir=path.expanduser('~/.config/sshyp/tmp/')): + # encrypts an entry and cleans up the temporary files + system(f"{_gpg_command} -qr {str(gpg_id)} -e '{tmp_dir}{_shm_folder}/{_shm_entry}'") + move(f"{tmp_dir}{_shm_folder}/{_shm_entry}.gpg", f"{_entry_dir}.gpg") rmtree(f"{tmp_dir}{_shm_folder}") @@ -491,7 +492,7 @@ def add_entry(): # adds a new entry .writelines(optimized_edit([_password, _username, _url, _notes], None, -1)) print('\n\u001b[1mentry preview:\u001b[0m') entry_reader(f"{tmp_dir}{_shm_folder}/{_shm_entry}") - encrypt(_shm_folder, _shm_entry, _entry_name) + encrypt(directory + _entry_name, _shm_folder, _shm_entry, 'gpg --pinentry-mode loopback') def add_folder(): # creates a new folder @@ -554,7 +555,7 @@ def edit(): # edits the contents of an entry remove(f"{directory}{_entry_name}.gpg") print('\n\u001b[1mentry preview:\u001b[0m') entry_reader(f"{tmp_dir}{_shm_folder}/{_shm_entry}") - encrypt(_shm_folder, _shm_entry, _entry_name) + encrypt(directory + _entry_name, _shm_folder, _shm_entry, 'gpg --pinentry-mode loopback') def gen(): # generates a password for a new or an existing entry @@ -592,7 +593,7 @@ def gen(): # generates a password for a new or an existing entry remove(f"{directory}{_entry_name}.gpg") print('\n\u001b[1mentry preview:\u001b[0m') entry_reader(f"{tmp_dir}{_shm_folder}/{_shm_entry}") - encrypt(_shm_folder, _shm_entry, _entry_name) + encrypt(directory + _entry_name, _shm_folder, _shm_entry, 'gpg --pinentry-mode loopback') def copy_data(): # copies a specified field of an entry to the clipboard