cmd/watchforlinks.py

50 lines
1.2 KiB
Python
Raw Normal View History

import argparse
2020-05-15 04:40:50 +00:00
import pyperclip
import sys
import time
from voussoirkit import passwordy
from voussoirkit import pathclass
2020-05-15 04:40:50 +00:00
def loop_once(extension):
2020-05-15 04:40:50 +00:00
try:
text = pyperclip.paste()
except Exception:
return
text = text.strip()
if len(text.split(sep=None, maxsplit=1)) > 1:
2020-05-15 04:40:50 +00:00
return
if 'http://' in text or 'https://' in text:
path = pathclass.Path(passwordy.urandom_hex(12)).add_extension(extension)
2020-05-15 04:40:50 +00:00
pyperclip.copy('')
print(path.basename, text)
h = open(path.absolute_path, 'w', encoding='utf-8')
2020-05-15 04:40:50 +00:00
h.write(text)
h.close()
def loop_forever(extension):
2020-05-15 04:40:50 +00:00
while True:
loop_once(extension=extension)
2020-05-15 04:40:50 +00:00
time.sleep(1)
def watchforlinks_argparse(args):
2020-05-15 04:40:50 +00:00
try:
loop_forever(extension=args.extension)
2020-05-15 04:40:50 +00:00
except KeyboardInterrupt:
pass
def main(argv):
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument('extension', nargs='?', default='generic')
parser.set_defaults(func=watchforlinks_argparse)
args = parser.parse_args(argv)
return args.func(args)
2020-05-15 04:40:50 +00:00
if __name__ == '__main__':
raise SystemExit(main(sys.argv[1:]))