检查你家乡的天气预报,如果预报有降水,发送电子邮件提醒你打包雨具。
wolkenbruch的Python项目详细描述
沃尔肯布鲁克
检查天气预报中可配置的位置并发送电子邮件 如果天气预报有降水,提醒你带上雨具。在
Wolkenbruch使用MET Norway API,并使用OpenStreetmap从地名中查找位置。在
依赖性
Wolkenbruch是用python3编写的,它依赖于Python模块geocoder、requests和{a5}。在
安装
- 使用
pip
或类似的:
pip3 install wolkenbruch
- 在
或:手动:
- 克隆此存储库
- 切换到克隆目录
- 使用Python
setuptools
安装包:
cd wolkenbruch python3 ./setup.py install
在 - 在
或:(仅限Arch Linux)来自AUR:
在
# e.g. using yay
yay python-wolkenbruch
配置
根据您的操作系统,将示例配置文件wolkenbruch.yml.example复制到合适的位置:
- 在Linux系统上:
- 系统范围的配置:
/etc/wolkenbruch.yml
- 每用户配置:
~/.config/wolkenbruch.yml
或${XDG_CONFIG_HOME}/wolkenbruch.yml
- 系统范围的配置:
- 在MacOS系统上:
- 每用户配置:
${XDG_CONFIG_HOME}/wolkenbruch.yml
- 每用户配置:
- 在Microsoft Windows系统上:
- 每用户配置:
%APPDATA%\wolkenbruch.yml
- 每用户配置:
调整配置:
- 更改预测搜索的位置。对于较大的城市来说,它们的名字就足够了(支持Unicode),例如“赫尔辛基”。当涉及到较小的地方,或者与世界不同地区的其他地方同名的地方时,你可能需要加上一个国家、州或郡名,例如“斯普林菲尔德,菲菲”。在
- 调整SMTP主机和凭据(如果不需要身份验证,请将用户和密码留空)。小心:凭证(显然)保存为纯文本。使用
chmod 0600 "~/.config/wolkenbruch.yml"
保护对配置文件的访问,例如在GNU/Linux或MacOS系统上。在 - 设置发送者和接收者的电子邮件地址(它们可以并且经常是同一个地址)
- 如果您愿意,请更改电子邮件的主题行和邮件正文。消息体可以包含Python string formatting code,用于浮点变量
a
和{}(未来14小时的平均和最大降水量,单位为mm/h)。在 - 调整你能承受的降雨量:
average_precipitation_rate_threshold
是未来14小时内的平均降水量(单位:mm/h),必须超过该值才能向你发送提醒,max_precipitation_rate_threshold
使你不想忘记雨具的最高单小时值。在 - verbose标志用于切换
wolkenbruch
是打印状态还是静默操作。在
# example configuration file# (/etc/wolkenbruch.yml, ~/.config/wolkenbruch.yml,# %APPDATA%/wolkenbruch.yml, ${XDG_CONFIG_HOME}/wolkenbruch.yml)smtp:host:localhost:587user:foobarpassword:BARFOOemail:from:me@whereever.comto:myself@whereever.comsubject:Pack your rain gear!message:The forecast precipitation rate for today is {a:.2f} mm/h, maximum {m:2f} mm/h.place:Helsinkiaverage_precipitation_rate_threshold:0.1max_precipitation_rate_threshold:0.5verbose:False
用法
运行wolkenbruch
检查接下来14小时的降水量,并向您发送电子邮件提醒。理想情况下,设置一个cron作业或systemd计时器来运行wolkenbruch
,例如每天早上。在
系统定时器
将wolkenbruch.service
和{/etc/systemd/user/
或{
systemctl --user daemon-reload
systemctl --user enable --now wolkenbruch.timer
如果要在未登录时触发systemd计时器,请为用户启用lingering:
sudo loginctl enable-linger USERNAME
- 项目
标签: