mirror of
https://github.com/rwinkhart/sshyp.git
synced 2026-09-03 15:47:18 -04:00
In compliance with the XDG base directory spec, entries are now stored in ~/.local/share/sshyp/
Former-commit-id: fbb98f890b417395345a7a71ad158e48fa36a7ef [formerly 0c1f34bc30]
Former-commit-id: 91bd7170c0c56c093cf2126ce089be0e8255d6ce
This commit is contained in:
+11
-12
@@ -18,8 +18,8 @@ from textwrap import fill
|
|||||||
def entry_list_gen(): # generates and prints a list of all folders and entries
|
def entry_list_gen(): # generates and prints a list of all folders and entries
|
||||||
print('\n\u001b[38;5;0;48;5;15msshyp entries:\u001b[0m\n')
|
print('\n\u001b[38;5;0;48;5;15msshyp entries:\u001b[0m\n')
|
||||||
_entry_list, _color_alternator = [], 1
|
_entry_list, _color_alternator = [], 1
|
||||||
for _entry in sorted(listdir(path.expanduser('~/.password-pasture'))):
|
for _entry in sorted(listdir(directory)):
|
||||||
if Path(path.expanduser(f"~/.password-pasture/{_entry}")).is_file():
|
if Path(f"{directory}{_entry}").is_file():
|
||||||
if _color_alternator == 1:
|
if _color_alternator == 1:
|
||||||
_entry_list.append(f"{_entry.replace('.gpg', '')}")
|
_entry_list.append(f"{_entry.replace('.gpg', '')}")
|
||||||
_color_alternator = 2
|
_color_alternator = 2
|
||||||
@@ -35,12 +35,12 @@ def entry_list_gen(): # generates and prints a list of all folders and entries
|
|||||||
print(fill(' '.join(_entry_list), width=_width) + '\n')
|
print(fill(' '.join(_entry_list), width=_width) + '\n')
|
||||||
except ValueError:
|
except ValueError:
|
||||||
pass
|
pass
|
||||||
for _root, _directories, _files in walk(path.expanduser('~/.password-pasture')):
|
for _root, _directories, _files in walk(directory):
|
||||||
for _dir in sorted(_directories):
|
for _dir in sorted(_directories):
|
||||||
_inner_dir = f"{_root.replace(path.expanduser('~/.password-pasture'), '')}/{_dir}"
|
_inner_dir = f"{_root.replace(directory, '')}/{_dir}"
|
||||||
print(f"\u001b[38;5;15;48;5;238m{_inner_dir}/\u001b[0m")
|
print(f"\u001b[38;5;15;48;5;238m{_inner_dir}/\u001b[0m")
|
||||||
_entry_list, _color_alternator = [], 1
|
_entry_list, _color_alternator = [], 1
|
||||||
for _s_root, _s_directories, _s_files in walk(path.expanduser(f"~/.password-pasture{_inner_dir}")):
|
for _s_root, _s_directories, _s_files in walk(f"{directory[:-1]}{_inner_dir}"):
|
||||||
for _entry in sorted(_s_files):
|
for _entry in sorted(_s_files):
|
||||||
if _color_alternator == 1:
|
if _color_alternator == 1:
|
||||||
_entry_list.append(f"{_entry.replace('.gpg', '')}")
|
_entry_list.append(f"{_entry.replace('.gpg', '')}")
|
||||||
@@ -188,7 +188,7 @@ def copy_name_check(_port, _username_ssh, _ip, _client_device_name):
|
|||||||
|
|
||||||
def tweak(): # runs configuration wizard
|
def tweak(): # runs configuration wizard
|
||||||
# storage/config directory creation
|
# storage/config directory creation
|
||||||
Path(path.expanduser('~/.password-pasture')).mkdir(0o700, parents=True, exist_ok=True)
|
Path(path.expanduser('~/.local/share/sshyp')).mkdir(0o700, parents=True, exist_ok=True)
|
||||||
Path(path.expanduser('~/.config/sshyp/devices')).mkdir(0o700, parents=True, exist_ok=True)
|
Path(path.expanduser('~/.config/sshyp/devices')).mkdir(0o700, parents=True, exist_ok=True)
|
||||||
if not Path(f"{path.expanduser('~/.config/sshyp/tmp')}").exists():
|
if not Path(f"{path.expanduser('~/.config/sshyp/tmp')}").exists():
|
||||||
if uname()[0] == 'Haiku' or uname()[0] == 'FreeBSD':
|
if uname()[0] == 'Haiku' or uname()[0] == 'FreeBSD':
|
||||||
@@ -239,7 +239,6 @@ def tweak(): # runs configuration wizard
|
|||||||
|
|
||||||
# ssh user configuration
|
# ssh user configuration
|
||||||
_username_ssh = str(input('\nusername of the remote server: '))
|
_username_ssh = str(input('\nusername of the remote server: '))
|
||||||
print(f"\nentry directory: /home/{_username_ssh}/.password-pasture/")
|
|
||||||
|
|
||||||
# sshyp-only data storage
|
# sshyp-only data storage
|
||||||
open(path.expanduser('~/.config/sshyp/sshyp-data'), 'w')\
|
open(path.expanduser('~/.config/sshyp/sshyp-data'), 'w')\
|
||||||
@@ -247,7 +246,7 @@ def tweak(): # runs configuration wizard
|
|||||||
|
|
||||||
# sshync profile generation
|
# sshync profile generation
|
||||||
sshync.make_profile(path.expanduser('~/.config/sshyp/sshyp.sshync'),
|
sshync.make_profile(path.expanduser('~/.config/sshyp/sshyp.sshync'),
|
||||||
path.expanduser('~/.password-pasture/'), f"/home/{_username_ssh}/.password-pasture/",
|
path.expanduser('~/.local/share/sshyp/'), f"/home/{_username_ssh}/.local/share/sshyp/",
|
||||||
path.expanduser('~/.ssh/sshyp'), _ip, _port, _username_ssh)
|
path.expanduser('~/.ssh/sshyp'), _ip, _port, _username_ssh)
|
||||||
|
|
||||||
# device name configuration
|
# device name configuration
|
||||||
@@ -392,7 +391,7 @@ def sync(): # calls sshync to sync changes to the user's server
|
|||||||
try:
|
try:
|
||||||
if silent_sync != 1:
|
if silent_sync != 1:
|
||||||
print(f"\u001b[38;5;208m{_file[:-1]}\u001b[0m has been sheared, removing...")
|
print(f"\u001b[38;5;208m{_file[:-1]}\u001b[0m has been sheared, removing...")
|
||||||
rmtree(f"{path.expanduser('~/.password-pasture/')}{_file[:-1]}")
|
rmtree(f"{directory}{_file[:-1]}")
|
||||||
except FileNotFoundError:
|
except FileNotFoundError:
|
||||||
if silent_sync != 1:
|
if silent_sync != 1:
|
||||||
print('folder does not exist locally.')
|
print('folder does not exist locally.')
|
||||||
@@ -400,7 +399,7 @@ def sync(): # calls sshync to sync changes to the user's server
|
|||||||
try:
|
try:
|
||||||
if silent_sync != 1:
|
if silent_sync != 1:
|
||||||
print(f"\u001b[38;5;208m{_file[:-1]}\u001b[0m has been sheared, removing...")
|
print(f"\u001b[38;5;208m{_file[:-1]}\u001b[0m has been sheared, removing...")
|
||||||
remove(f"{path.expanduser('~/.password-pasture/')}{_file[:-1]}.gpg")
|
remove(f"{directory}{_file[:-1]}.gpg")
|
||||||
except (FileNotFoundError, IsADirectoryError):
|
except (FileNotFoundError, IsADirectoryError):
|
||||||
if silent_sync != 1:
|
if silent_sync != 1:
|
||||||
print('file does not exist locally.')
|
print('file does not exist locally.')
|
||||||
@@ -419,7 +418,7 @@ def sync(): # calls sshync to sync changes to the user's server
|
|||||||
if Path(f"{path.expanduser('~')}{_folder[:-1]}").is_dir():
|
if Path(f"{path.expanduser('~')}{_folder[:-1]}").is_dir():
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
print(f"\u001b[38;5;2m{_folder.replace('/.password-pasture/', '')[:-1]}/\u001b[0m does not exist locally, "
|
print(f"\u001b[38;5;2m{_folder.replace('/.local/share/sshyp/', '')[:-1]}/\u001b[0m does not exist locally, "
|
||||||
f"creating...")
|
f"creating...")
|
||||||
Path(f"{path.expanduser('~')}{_folder[:-1]}").mkdir(0o700, parents=True, exist_ok=True)
|
Path(f"{path.expanduser('~')}{_folder[:-1]}").mkdir(0o700, parents=True, exist_ok=True)
|
||||||
# set permissions before uploading
|
# set permissions before uploading
|
||||||
@@ -660,7 +659,7 @@ if __name__ == "__main__":
|
|||||||
ip = ssh_info[1].replace('\n', '')
|
ip = ssh_info[1].replace('\n', '')
|
||||||
port = ssh_info[2].replace('\n', '')
|
port = ssh_info[2].replace('\n', '')
|
||||||
directory = str(ssh_info[3].replace('\n', ''))
|
directory = str(ssh_info[3].replace('\n', ''))
|
||||||
directory_ssh = '/home/' + username_ssh + '/.password-pasture/'
|
directory_ssh = str(ssh_info[4].replace('\n', ''))
|
||||||
client_device_name = listdir(path.expanduser('~/.config/sshyp/devices'))[0]
|
client_device_name = listdir(path.expanduser('~/.config/sshyp/devices'))[0]
|
||||||
sshyp_data = open(path.expanduser('~/.config/sshyp/sshyp-data')).readlines()
|
sshyp_data = open(path.expanduser('~/.config/sshyp/sshyp-data')).readlines()
|
||||||
gpg_id = sshyp_data[0].replace('\n', '')
|
gpg_id = sshyp_data[0].replace('\n', '')
|
||||||
|
|||||||
+3
-3
@@ -12,12 +12,12 @@ from shutil import rmtree
|
|||||||
def delete(_file_path):
|
def delete(_file_path):
|
||||||
if _file_path.endswith('/'):
|
if _file_path.endswith('/'):
|
||||||
try:
|
try:
|
||||||
rmtree(f"{expanduser('~/.password-pasture/')}{_file_path}")
|
rmtree(f"{expanduser('~/.local/share/sshyp/')}{_file_path}")
|
||||||
except FileNotFoundError:
|
except FileNotFoundError:
|
||||||
print('folder does not exist remotely')
|
print('folder does not exist remotely')
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
remove(f"{expanduser('~/.password-pasture/')}{_file_path}.gpg")
|
remove(f"{expanduser('~/.local/share/sshyp/')}{_file_path}.gpg")
|
||||||
except FileNotFoundError:
|
except FileNotFoundError:
|
||||||
print('file does not exist remotely')
|
print('file does not exist remotely')
|
||||||
for _device_name in listdir(expanduser('~/.config/sshyp/devices')):
|
for _device_name in listdir(expanduser('~/.config/sshyp/devices')):
|
||||||
@@ -39,7 +39,7 @@ def deletion_check(_client_device_name):
|
|||||||
|
|
||||||
def folder_check():
|
def folder_check():
|
||||||
open(expanduser('~/.config/sshyp/folder_database'), 'w').write('')
|
open(expanduser('~/.config/sshyp/folder_database'), 'w').write('')
|
||||||
for _root, _directories, _files in walk(expanduser('~/.password-pasture')):
|
for _root, _directories, _files in walk(expanduser('~/.local/share/sshyp')):
|
||||||
for _dir in _directories:
|
for _dir in _directories:
|
||||||
open(expanduser('~/.config/sshyp/folder_database'), 'a')\
|
open(expanduser('~/.config/sshyp/folder_database'), 'a')\
|
||||||
.write(f"{_root.replace(expanduser('~'), '')}/{_dir}\n")
|
.write(f"{_root.replace(expanduser('~'), '')}/{_dir}\n")
|
||||||
|
|||||||
Reference in New Issue
Block a user