#!/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:
[email protected]\nTo:
[email protected]\nDate: {formatdate(localtime=False, usegmt=False)}\nSubject: {title}\n\n"
path.write_text(header)
subprocess.run([EDITOR, path])