Files
sshyp/port-jobs/CLIPTOOL.py
T
RandyTheSilly c3aa63b585 Fixed clipboard tool detection on Wayland, various fixes related to curses menu
Former-commit-id: b021ed0871fb2e099ea82701378ca0876e8f594f
Former-commit-id: 21707287d99f03268c1f05eda6ab875c22272c27
2023-05-12 18:08:42 -04:00

37 lines
1.2 KiB
Python
Executable File

#!/usr/bin/env python3
import re
from sys import argv, exit as s_exit
# read arguments
arguments = argv[1:]
# define PORT target
string1 = '# PORT START CLIPTOOL'
string2 = '# PORT END CLIPTOOL'
# define replacement text depending on arguments
if len(arguments) > 0:
regex = re.compile(f"{string1}.*?{string2}", re.DOTALL)
replacement = """# check for clipboard tool and display warning if missing
if 'WAYLAND_DISPLAY' in environ:
_display_server, _clipboard_tool, _clipboard_package = 'Wayland', 'wl-copy', 'wl-clipboard'
else:
_display_server, _clipboard_tool, _clipboard_package = 'X11', 'xclip', 'xclip'
from shutil import which
if which(_clipboard_tool) is None:
print(f'''\u001b[38;5;9mwarning: you are using {_display_server} and "{_clipboard_tool}" is not present -
copying entry fields will not function until "{_clipboard_package}" is installed\u001b[0m
''')"""
else:
regex = re.compile(f"{string1}.*?{string2}\n\n", re.DOTALL)
replacement = ''
# read input file
text = open('working/sshyp.py', 'r').read()
# find and replace the defined PORT target
new_text = re.sub(regex, replacement, text)
# write updated text
open('working/sshyp.py', 'w').write(new_text)