Closes #45 - New redmine_reporter/mailer.py: SMTP email sending with {author}/{period} template substitution, MIME attachment with correct content-type per file extension - Config.get_email_config(): returns EmailConfig from YAML or None when not configured - CLI --send flag: sends report after generation, works with --output, --commit, or standalone (saves to template path) - 31 new tests (22 mailer + 6 CLI + 3 config) - 249/249 tests passing, ruff clean, mypy clean
96 lines
933 B
Plaintext
96 lines
933 B
Plaintext
# Byte-compiled / optimized / DLL files
|
|
__pycache__/
|
|
*.py[cod]
|
|
*$py.class
|
|
*.so
|
|
.Python
|
|
env/
|
|
build/
|
|
develop-eggs/
|
|
dist/
|
|
downloads/
|
|
eggs/
|
|
.eggs/
|
|
lib/
|
|
lib64/
|
|
parts/
|
|
sdist/
|
|
var/
|
|
wheels/
|
|
*.egg-info/
|
|
.installed.cfg
|
|
*.egg
|
|
|
|
# Virtual Environments
|
|
.venv
|
|
venv/
|
|
ENV/
|
|
env.bak/
|
|
venv.bak/
|
|
|
|
# IDEs & Editors
|
|
.vscode/
|
|
.idea/
|
|
*.swp
|
|
*.swo
|
|
.DS_Store
|
|
*.sublime-project
|
|
*.sublime-workspace
|
|
|
|
# OS
|
|
.DS_Store
|
|
Thumbs.db
|
|
ehthumbs.db
|
|
Desktop.ini
|
|
|
|
# Logs and databases
|
|
*.log
|
|
*.sqlite3
|
|
*.db
|
|
|
|
# Environment variables
|
|
.env
|
|
.env.local
|
|
.env.*.local
|
|
|
|
# Coverage
|
|
htmlcov/
|
|
.coverage
|
|
.coverage.*
|
|
.cache
|
|
nosetests.xml
|
|
coverage.xml
|
|
*.cover
|
|
*.py,cover
|
|
|
|
# Pytest
|
|
.pytest_cache/
|
|
test-results.xml
|
|
|
|
# MyPy
|
|
.mypy_cache/
|
|
|
|
# Black, Ruff, etc.
|
|
.ruff_cache/
|
|
.ipynb_checkpoints/
|
|
|
|
# Build artifacts
|
|
*.tar.gz
|
|
*.whl
|
|
|
|
# Local config overrides
|
|
config.local.yaml
|
|
secrets.json
|
|
|
|
# Temporary files
|
|
*.tmp
|
|
*.bak
|
|
docs/superpowers
|
|
|
|
# Just in case
|
|
.~*
|
|
# Local report outputs
|
|
report.*
|
|
rep.*
|
|
*.html
|