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