Add makespam.py.
This commit is contained in:
parent
cb424f69e1
commit
507b5f48b0
1 changed files with 70 additions and 0 deletions
70
makespam.py
Normal file
70
makespam.py
Normal file
|
@ -0,0 +1,70 @@
|
|||
import time
|
||||
import textwrap
|
||||
import re
|
||||
import html
|
||||
import pyperclip
|
||||
|
||||
TEMPLATE = '''
|
||||
<article>
|
||||
{selectheaders}
|
||||
<details>
|
||||
<summary>Headers</summary>
|
||||
<pre>
|
||||
{headers}
|
||||
</pre>
|
||||
</details>
|
||||
|
||||
<hr/>
|
||||
|
||||
{body}
|
||||
</article>
|
||||
'''
|
||||
|
||||
|
||||
print('Copy the body...')
|
||||
pyperclip.copy('')
|
||||
while pyperclip.paste() == '':
|
||||
time.sleep(0.5)
|
||||
body = html.escape(pyperclip.paste())
|
||||
body = body.replace('\r', '')
|
||||
body = [line.strip() for line in body.splitlines()]
|
||||
body = [line for line in body if line]
|
||||
body = ['<p>' + line + '</p>' for line in body]
|
||||
body = '\n'.join(body)
|
||||
body = textwrap.indent(body, ' ')
|
||||
|
||||
print('Copy the headers...')
|
||||
pyperclip.copy('')
|
||||
while pyperclip.paste() == '':
|
||||
time.sleep(0.5)
|
||||
headers = html.escape(pyperclip.paste())
|
||||
headers = headers.replace('\r', '')
|
||||
headers = [line.rstrip() for line in headers.splitlines()]
|
||||
headers = [line for line in headers if line]
|
||||
headers = '\n'.join(headers)
|
||||
|
||||
keyed = {}
|
||||
for line in headers.splitlines():
|
||||
key = re.search(r'^([A-Za-z\-]+): ', line, flags=re.MULTILINE)
|
||||
if key is None:
|
||||
continue
|
||||
key = key.group(1)
|
||||
line = line.replace(key + ':', '<p><b>' + key + '</b>:')
|
||||
keyed[key] = line
|
||||
|
||||
selectheaders = [
|
||||
keyed.get('From'),
|
||||
keyed.get('Reply-To'),
|
||||
keyed.get('Return-Path'),
|
||||
keyed.get('To'),
|
||||
keyed.get('Bcc'),
|
||||
keyed.get('Subject'),
|
||||
keyed.get('Date'),
|
||||
]
|
||||
selectheaders = [s for s in selectheaders if s]
|
||||
selectheaders = '\n'.join(selectheaders)
|
||||
selectheaders = textwrap.indent(selectheaders, ' ')
|
||||
|
||||
spam = TEMPLATE.format(body=body, headers=headers, selectheaders=selectheaders)
|
||||
print(spam)
|
||||
pyperclip.copy(spam)
|
Loading…
Reference in a new issue