mirror of
https://github.com/agessaman/meshcore-bot.git
synced 2026-07-28 06:22:37 +00:00
Add a rain nowcast (Open-Meteo 15-minutely precipitation — worldwide, no API key) as both an on-demand `rain`/`nowcast` command and an opt-in Weather_Service push that announces rain starting and stopping at the bot's position. - modules/commands/rain_command.py — command plus pure, unit-tested fetch/analyze/dedup/label helpers (also reused by the service) - modules/service_plugins/weather_service.py — background poller mirroring the existing weather-alert poll pattern; ships disabled (opt-in) - Location labels resolve to "City, ST" (US) / "City, Country" (non-US) - 34 unit tests; rain_command added to the strict-mypy module list
82 lines
860 B
Plaintext
82 lines
860 B
Plaintext
# Git
|
|
.git
|
|
.gitignore
|
|
.gitattributes
|
|
|
|
# Python
|
|
__pycache__/
|
|
*.py[cod]
|
|
*$py.class
|
|
*.so
|
|
.Python
|
|
*.egg-info/
|
|
dist/
|
|
build/
|
|
*.egg
|
|
|
|
# Virtual environments
|
|
venv/
|
|
env/
|
|
ENV/
|
|
|
|
# IDE
|
|
.vscode/
|
|
.idea/
|
|
*.swp
|
|
*.swo
|
|
*~
|
|
|
|
# OS
|
|
.DS_Store
|
|
**/.DS_Store
|
|
Thumbs.db
|
|
# macOS AppleDouble sidecar files (created when copying to SMB/exFAT shares).
|
|
# Keep them out of the build context so the plugin loader doesn't try to import them.
|
|
._*
|
|
**/._*
|
|
|
|
# Project specific
|
|
*.db
|
|
*.db-shm
|
|
*.db-wal
|
|
*.log
|
|
logs/
|
|
backups/
|
|
*.ini
|
|
config.ini
|
|
config.ini.example
|
|
config.ini.minimal-example
|
|
config.min.ini
|
|
|
|
# Documentation
|
|
docs/
|
|
*.md
|
|
!README.md
|
|
|
|
# Test files
|
|
test_scripts/
|
|
*.test.py
|
|
*_test.py
|
|
|
|
# Development
|
|
dev/
|
|
flake.lock
|
|
flake.nix
|
|
nix/
|
|
|
|
# Service files
|
|
*.service
|
|
*.plist
|
|
*.sh
|
|
!install-service.sh
|
|
!uninstall-service.sh
|
|
|
|
# Website
|
|
website/
|
|
|
|
# MQTT bridge
|
|
mctomqtt.py
|
|
|
|
# Database backups
|
|
backup_database.py
|