#!/bin/python3 # external modules from os import listdir, remove, walk from os.path import expanduser from shutil import rmtree # utility functions def delete(_file_path): if _file_path.endswith('/'): try: rmtree(f"{expanduser('~/.password-pasture/')}{_file_path}") except FileNotFoundError: print('folder does not exist remotely') else: try: remove(f"{expanduser('~/.password-pasture/')}{_file_path}.gpg") except FileNotFoundError: print('file does not exist remotely') for _device_name in listdir(expanduser('~/.config/sshyp/devices')): open(f"{expanduser('~/.config/sshyp/deleted/')}{_file_path.replace('/', '@')}^&*{_device_name}", 'w') def deletion_check(_client_device_name): open(expanduser('~/.config/sshyp/deletion_database'), 'w').write('') for _file in listdir(expanduser('~/.config/sshyp/deleted')): _file_path = _file.replace('@', '/').split('^&*')[0] _device = _file.split('^&*')[1] if _device == _client_device_name: try: remove(f"{expanduser('~/.config/sshyp/deleted/')}{_file}") except FileNotFoundError: pass open(expanduser('~/.config/sshyp/deletion_database'), 'a').write(_file_path + '\n') def folder_check(): open(expanduser('~/.config/sshyp/folder_database'), 'w').write('') for _root, _directories, _files in walk(expanduser('~/.password-pasture')): for _dir in _directories: open(expanduser('~/.config/sshyp/folder_database'), 'a')\ .write(f"{_root.replace(expanduser('~'), '')}/{_dir}\n")