#!/usr/bin/env python3 import os import re import subprocess from datetime import datetime from email.utils import formatdate from pathlib import Path DEFAULT_EXT = '.eml' EDITOR = os.environ.get('EDITOR', 'vim') title = input('Subject: ') dashed_title = re.sub(r'\W+','-', title) if not title.strip(): print('Subject is empty, aborting') exit(0) path = Path(f"{datetime.now():%y%m%d}-{dashed_title.lower()}") path = path.with_suffix(path.suffix or DEFAULT_EXT) if input(f'Edit {path!s}? (Y/n) ').lower().strip() in ('', 'y', 'yes'): header = f"From: me@wangofett.com\nTo: public@circumlunar.space\nDate: {formatdate(localtime=False, usegmt=False)}\nSubject: {title}\n\n" path.write_text(header) subprocess.run([EDITOR, path])